Canvas, worked by an AI employee
Not another app for your team to learn, and not a set of rules for you to build. You hire an AI employee, you give it access to your Canvas account, and you ask it for things in Slack or Teams the way you would ask anyone else on the team. There is nothing to map and nothing to maintain.
- Online Courses
- Signs in to your account
- 87 ready-made tools
- Asked in Slack or Teams
An illustration of how the conversation reads, not a transcript from a client account.
What Canvas is
Canvas is a learning management system supporting online courses, assignments, grading, and collaboration, widely used by schools and universities for virtual classrooms
You sign in with your own Canvas account, the same way you already do. We never see or hold your password.
It can also be told by Canvas when something happens, rather than only doing things when you ask.
One message in, the work done in Canvas.
- 01
You ask
You message your AI employee in the chat your team already has open, in one sentence, in your own words.
- 02
It works out the step
It decides what the job needs in Canvas. You do not pick anything from a menu or wire anything together.
- 03
It does the work
Signed in to your own Canvas account, inside the access you granted it, doing the thing you asked for.
- 04
It reports back
It tells you what it did, in the same thread. If it could not do something, it says so rather than guessing.
What it can do in Canvas
These are the ready-made tools your AI employee already has in Canvas. It is not limited to them, but it never has to be taught these.
- Create a courseCreates a new course in canvas within a specified account, with comprehensive configuration options.
- Create a page for a courseCreates a new wiki page in a specified canvas course, with options for title, html body, editing permissions, publication, and designation as front page (which also requires public
- Create a quiz questionCreates a new question for an existing quiz within a course; if answers are provided, their structure must align with question type, and any quiz group id must be valid for an exis
- Create account notificationCreates a global notification within a canvas account, ensuring end at is after start at and any specified notification roles are valid.
- Create an assignmentCreates a new assignment within a specified course in canvas lms.
- Create appointment groupCreates a new appointment group in canvas for schedulable time slots within specified course or group contexts.
- Create assignment overrideCreates an assignment override to adjust due/unlock/lock dates for an assignment in a course, targeting specific students (requires title), a group, or a course section; at least o
- Create Calendar EventCreates a calendar event with options for recurrence (finite rrule series only), section-specific timings, and blackout dates within a specified context.
- Create communication channelCreates a new communication channel (e.g., email, sms, push) for an existing canvas user to receive notifications.
- Create content shareShares a canvas content item to specified users, if the sender has necessary permissions and receiver ids are valid.
- Create conversationUse to send messages in canvas by creating a new conversation or adding to an existing one; an existing conversation with the same recipients (and matching scope/filter, if specifi
- Create discussion entryTool to create a new entry in a canvas discussion topic. use when posting a message with optional attachments to a discussion topic.
- Create discussion topicCreates a new discussion topic in a specified canvas course, allowing comprehensive configuration of its content, type, publication settings, engagement features, and associations.
- Create enrollmentEnrolls a user in a canvas course with a specified role and status; associated user id is required if enrollment type is 'observerenrollment'.
- Create FolderCreates a new folder in canvas within a specified context (e.g., course, user) and optional parent folder; ensure the context and any parent folder (specified by id or path, not bo
- Create ModuleCreates a new organizational module within a specified canvas lms course, with options for availability, sequencing, and prerequisites.
- Create QuizCreates a new quiz with various settings in a specified existing canvas course; assignment group id applies only to graded quiz types.
- Delete a folderPermanently deletes an existing folder specified by its unique id.
- Delete an assignmentSoft-deletes a specific assignment within a course, returning the assignment object with its workflow state updated to 'deleted'.
- Delete appointment groupPermanently deletes an existing appointment group by its id; associated appointments may also be canceled or affected.
- Delete quizPermanently deletes the quiz identified by quiz id from the course identified by course id; this action cannot be undone.
- Edit a quizModifies an existing canvas quiz; only attributes with provided values in the request are updated.
- Edit assignmentUpdates an existing assignment in a canvas course (identified by course id and assignment id); only attributes explicitly provided in the request are modified.
- Export contentUse to initiate an asynchronous export of content (e.g., common cartridge, qti, zip) from an existing canvas course, returning an export id and progress url.
- Fetch DataFetches a specific category of canvas data (e.g., accounts, courses, users) by setting exactly one get boolean flag to true and providing any associated ids. supports pagination wi
- Get a single courseRetrieves detailed information for a specific canvas course using its course id, which must be valid, and allows for including additional data fields in the response via the includ
- Get all assignmentsRetrieves assignments for a specified canvas course.
- Get all usersRetrieves a list of users for a specified canvas account id (use 'self' for the current user's root account), supporting filtering, sorting, and pagination.
- Get assignmentRetrieves detailed information for a specific assignment within a given course in canvas.
- Get Assignment RubricFetches the detailed rubric for a specified assignment within a canvas course; fails if the assignment has no associated rubric.
- Get Canvas accountsRetrieves all canvas accounts accessible to the authenticated user.
- Get Course ActivityRetrieves daily activity analytics, such as page views and participation events, for a specified canvas course.
- Get current gradesFetches current, aggregated grade data from canvas analytics for a specified account id.
- Get Current UserRetrieves detailed information about the currently authenticated user from the canvas lms.
- Get department level completed gradesRetrieves the distribution of final grades (0-100, binned to whole numbers) for all completed courses in a canvas account, where each data point represents one student's final grad
- Get department level current statisticsFetches a snapshot of current numerical statistics for a canvas account, requiring its valid id.
- Get department level term statisticsRetrieves department-level academic term statistics (e.g., enrollment, activity, grades) for a specified account and term in canvas, provided analytics data is available.
- Get department-level completed statisticsRetrieves numeric statistics for all completed courses for a specified canvas account id; the account must exist.
- Get enrollment by IDRetrieves a specific enrollment by its id within a given account.
- Get gradebook history daysRetrieves a chronological list of dates with grading activity and the active graders for a specified course.
- Get Page for a CourseRetrieves a specific content page (wiki or content page) by its url or numeric id from a specified canvas course.
- Get quiz submissionsRetrieves all submissions for a specific quiz within a course; ensure course id and quiz id are valid and the quiz belongs to the course.
- Get report statusRetrieves the status of a previously initiated report in a canvas account, specified by its type and id.
- Get single submissionRetrieves a specific submission for an assignment made by a particular user within a designated course.
- Get submission filesRetrieves files from a student's canvas assignment submission, processing text, binary, and zip files, and providing s3 download urls if s3 integration is active and uploads are su
- Get term grade dataRetrieves department-level aggregated grade data for a specific academic term within a canvas account.
- Get user assignment analyticsFetches detailed assignment-level analytics for a specific student in a designated course, including submission details and class performance statistics.
- Get user course progressRetrieves the academic progress of a specific user within a given course.
- Get user participation analyticsRetrieves page view activity and participation details for a specific student enrolled in a designated course.
- Get User ProfileRetrieves profile information for an existing canvas user.
- Grade or comment on a submissionUpdates a student's assignment submission with a grade, comment, sticker, or status change; requires course id, assignment id, user id, and at least one update field.
- List Accounts for Course AdminsRetrieves canvas accounts visible to the current user due to their course-level administrative roles; no request parameters are needed.
- List all foldersRetrieves the first page of folders for a specified canvas course id; this action is scoped to courses only.
- List appointment groupsRetrieves a list of canvas appointment groups based on specified filters; any provided context codes must be valid and accessible by the user.
- List assignment submissionsRetrieves submissions for a specific assignment within a course, optionally including related resources or grouping by student group for group assignments. supports pagination to r
- List Available ReportsLists available reports (including those that can be or have been generated) for a valid canvas account id.
- List calendar events for a userRetrieves calendar events and assignments for a specific user from canvas lms, supporting extensive filtering options detailed in the request schema.
- List communication channelsRetrieves a list of communication channels associated with a specific user in canvas.
- List communication messagesRetrieves communication messages from canvas.
- List content exportsRetrieves a paginated list of content exports from canvas for a specified, existing course.
- List Course UsersRetrieves a paginated list of users for a given canvas course id (which must be an existing course), supporting various filtering, sorting, and data inclusion options.
- List coursesRetrieves a list of the current user's courses from canvas, optionally filtered by enrollment type and state.
- List Courses for a UserRetrieves a list of courses in canvas for a specified user id, requiring observer or admin permissions to view courses for others.
- List Discussion EntriesTool to retrieve paginated discussion entries for a specific discussion topic in a course. use when needing to list all posts and replies under a given topic, supports pagination.
- List Discussion TopicsRetrieves a paginated list of discussion topics or announcements for a specified course.
- List FilesFetches metadata (id, name, size, type, urls) for all files within a specified canvas course.
- List foldersRetrieves a list of immediate sub-folders within the specified folder id.
- List pages for a courseRetrieves a list of wiki pages associated with a specific, existing course in canvas.
- List Quizzes in CourseRetrieves a paginated list of quizzes for a specified, valid canvas course, optionally filtering by a search term in the quiz title.
- List sent content sharesRetrieves content shares sent by the specified user to other users or courses within canvas.
- List submissionsFetches gradebook history submissions for a specific course, assignment, grader, and date from canvas.
- List submissions for multiple assignmentsRetrieves submissions from a canvas course for specified assignments and/or students; the course must be accessible.
- List uncollated submission versionsRetrieves a feed of uncollated submission versions from the gradebook history for a course; any provided assignment id must be valid for the course, and any user id must be for a u
- List users in accountUse this action to retrieve all users associated with a specific, existing canvas account id.
- Reply to discussion entryTool to reply to a discussion entry. use when you need to send a message to a discussion entry with optional attachments.
- Retrieve enrollment termRetrieves detailed information for a specific enrollment term within a given root account in canvas.
- Start a ReportInitiates an asynchronous report generation for a canvas account, using a valid report type for the account; the response confirms initiation and may include progress tracking deta
- Translate File ReferenceResolves a file's migration id to its current representation within a specific canvas course.
- Update Appointment GroupUpdates an existing canvas appointment group by its id; only provided fields are modified, but publish defaults to false if omitted. the appointment group id must be valid.
- Update courseUpdates an existing course, specified by its id, with new attributes or triggers a lifecycle event like 'conclude' or 'delete'.
- Update course settingsUpdates various settings for an existing course in canvas, identified by course id.
- Update fileModifies an existing file's name or relocates it to a new parent folder; the target folder, if specified, must be valid and in the file's original context.
- Update page for a courseUpdates an existing wiki page in a canvas course; if setting as front page, it must also be or be made published.
- Update quiz submission scoresUpdates scores, comments for questions, and/or applies fudge points to a specific quiz submission attempt; the attempt must be completed and referenced by valid, existing course, q
- Update User SettingsUpdates a canvas user's preferences for various interface elements and content interaction behaviors.
- Upload a course fileUploads a file to an accessible canvas course, optionally to a specific folder (created if a non-existent parent folder path is provided) and with defined behavior for duplicate fi
- Upload submission fileUploads a submission file for an assignment in a canvas course for a specified user id; this user must be enrolled, the assignment open for them, and 'masquerade' permissions may b
What Canvas can tell it about
It does not only wait to be asked. These are the things Canvas can tell your AI employee about the moment they happen, so it can act without anyone noticing first.
- Canvas Assignment GradedPolls Canvas for newly graded submissions for a specific assignment.
- New Canvas Assignment SubmissionPolls Canvas for new submissions to a specific assignment.
- New Canvas Discussion MessagePolls Canvas discussion topics for new messages.
- New Canvas Discussion TopicPolls a Canvas course for new discussion topics.
- New Canvas File UploadPolls a Canvas course for new file uploads.
- New Course Created for UserPolls Canvas for newly created courses for a specific user.
You stay the boss of your Canvas account.
Nothing connects until you approve it. You grant access one app at a time, you can take it back the same way, and everything your AI employee does in there is written down where you can see it.
How we handle your data- It signs in to your own Canvas account. You are not moving anything into ours.
- You grant access one app at a time, and you can take it back the same way.
- Everything it does in Canvas is written down, with what it did and when.
- Anything you tell it to check with you first, it checks with you first.
It works in Canvas and the rest of your software in the same job
A real job rarely stays in one place. Reading a message in one app, checking a record in another and writing the result in a third is one request to your AI employee, not three.
Questions people ask about Canvas
- Can an AI employee really work inside Canvas?
- Yes. It signs in to your own Canvas account and works in it the way a new hire would, from the chat your team already has open. Nobody installs anything, and nobody learns a new screen.
- Do I have to move anything out of Canvas?
- No. Nothing moves and nothing is replaced. Your records stay in Canvas, your team carries on in the same screens they used yesterday, and your AI employee works alongside them in there.
- How does it get into my Canvas account?
- You sign in with your own Canvas account, the same way you already do. We never see or hold your password. You approve it before anything connects, and you can take the access back the same way you gave it.
- What can it actually do in Canvas?
- It has 87 ready-made tools in Canvas today, among them Create a course, Create a page for a course and Create a quiz question. The full list is on this page. It is not limited to those, but it never has to be taught them.
- Can it use Canvas and the rest of my software in the same job?
- Yes, and that is usually the point. Reading a message in one app, checking a record in Canvas and writing the result somewhere else is one request to your AI employee, not three separate ones you stitch together.
- Who decides what it is allowed to do in Canvas?
- You do. You grant access one app at a time and can withdraw it at any time, anything you ask it to check with you first it checks with you first, and everything it does in Canvas is written down with what it did and when.