Canvas
Canvas is a learning management system supporting online courses, assignments, grading, and collaboration, widely used by schools and universities for virtual classrooms
This is a first-class FlyMyAI MCP. Agents discover it automatically via tool search and call the actions below on demand - you never wire it up by hand. See the Composio catalog for how discovery works.
Connect
Canvas connects with a single OAuth click - there is no token to paste. The first time an agent uses a Canvas action, FlyMyAI asks you to authorize your Canvas account. Approve it once and the connection is reused for every later run.
- Provider: Canvas
Actions
Every action this integration exposes. Agents pick the right one from the task; you do not call them by name.
| Action | What it does | Required inputs |
|---|---|---|
CANVAS_CREATE_ACCOUNT_NOTIFICATION | Creates a global notification within a canvas account, ensuring 'end at' is after 'start at' and any specified 'notification roles' are valid. | account_id, subject, message, start_at, end_at |
CANVAS_CREATE_APPOINTMENT_GROUP | Creates a new appointment group in canvas for schedulable time slots within specified course or group contexts. | context_codes, title |
CANVAS_CREATE_ASSIGNMENT | Creates a new assignment within a specified course in canvas lms. | course_id, name |
CANVAS_CREATE_ASSIGNMENT_OVERRIDE | Creates 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 one target ('student ids', 'group id', or 'course section id') is required. | course_id, assignment_id |
CANVAS_CREATE_CALENDAR_EVENT | Creates a calendar event with options for recurrence (finite 'rrule' series only), section-specific timings, and blackout dates within a specified context. | context_code |
CANVAS_CREATE_COMMUNICATION_CHANNEL | Creates a new communication channel (e.g., email, sms, push) for an existing canvas user to receive notifications. | user_id, address, type |
CANVAS_CREATE_CONTENT_SHARE | Shares a canvas content item to specified users, if the sender has necessary permissions and receiver ids are valid. | user_id, receiver_ids, content_type, content_id |
CANVAS_CREATE_CONVERSATION | Use 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 specified) may be reused unless 'force new' is true. | recipients, body |
CANVAS_CREATE_COURSE | Creates a new course in canvas within a specified account, with comprehensive configuration options. | account_id |
CANVAS_CREATE_DISCUSSION_ENTRY | Tool to create a new entry in a canvas discussion topic. use when posting a message with optional attachments to a discussion topic. | course_id, topic_id, message |
CANVAS_CREATE_DISCUSSION_TOPIC | Creates a new discussion topic in a specified canvas course, allowing comprehensive configuration of its content, type, publication settings, engagement features, and associations. | course_id, title |
CANVAS_CREATE_ENROLLMENT | Enrolls a user in a canvas course with a specified role and status; 'associated user id' is required if 'enrollment type' is 'observerenrollment'. | course_id, user_id |
CANVAS_CREATE_FOLDER | Creates 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 both) already exist. | context_type, id, name |
CANVAS_CREATE_MODULE | Creates a new organizational module within a specified canvas lms course, with options for availability, sequencing, and prerequisites. | course_id, name |
CANVAS_CREATE_PAGE_FOR_COURSE | Creates 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 publication). | course_id, title |
CANVAS_CREATE_QUIZ | Creates a new quiz with various settings in a specified existing canvas course; 'assignment group id' applies only to graded quiz types. | course_id, title |
CANVAS_CREATE_QUIZ_QUESTION | Creates 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 existing group in the quiz. | course_id, quiz_id, question_name, question_text, question_type |
CANVAS_DELETE_APPOINTMENT_GROUP | Permanently deletes an existing appointment group by its id; associated appointments may also be canceled or affected. | appointment_group_id |
CANVAS_DELETE_ASSIGNMENT | Soft-deletes a specific assignment within a course, returning the assignment object with its 'workflow state' updated to 'deleted'. | course_id, assignment_id |
CANVAS_DELETE_FOLDER | Permanently deletes an existing folder specified by its unique id. | id |
CANVAS_DELETE_QUIZ | Permanently deletes the quiz identified by 'quiz id' from the course identified by 'course id'; this action cannot be undone. | course_id, quiz_id |
CANVAS_DEPARTMENT_LEVEL_GRADE_DATA_FOR_CURRENT_GRADES | Fetches current, aggregated grade data from canvas analytics for a specified account id. | account_id |
CANVAS_DEPARTMENT_LEVEL_GRADE_DATA_FOR_TERM_GRADES | Retrieves department-level aggregated grade data for a specific academic term within a canvas account. | account_id, term_id |
CANVAS_EDIT_ASSIGNMENT | Updates an existing assignment in a canvas course (identified by 'course id' and 'assignment id'); only attributes explicitly provided in the request are modified. | course_id, assignment_id |
CANVAS_EDIT_QUIZ | Modifies an existing canvas quiz; only attributes with provided values in the request are updated. | course_id, quiz_id |
CANVAS_EXPORT_CONTENT | Use 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. | course_id, export_type |
CANVAS_FETCH_DATA | Fetches 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 with per page (default 100, max 100) and page (default 1) parameters to fetch… | - |
CANVAS_GET_ACCOUNTS | Retrieves all canvas accounts accessible to the authenticated user. | - |
CANVAS_GET_ALL_ASSIGNMENTS | Retrieves assignments for a specified canvas course. | course_id |
CANVAS_GET_ALL_USERS | Retrieves a list of users for a specified canvas 'account id' (use 'self' for the current user's root account), supporting filtering, sorting, and pagination. | account_id |
CANVAS_GET_ASSIGNMENT | Retrieves detailed information for a specific assignment within a given course in canvas. | course_id, assignment_id |
CANVAS_GET_ASSIGNMENT_RUBRIC | Fetches the detailed rubric for a specified assignment within a canvas course; fails if the assignment has no associated rubric. | course_id, assignment_id |
CANVAS_GET_COURSE_LEVEL_PARTICIPATION_DATA | Retrieves daily activity analytics, such as page views and participation events, for a specified canvas course. | course_id |
CANVAS_GET_CURRENT_USER | Retrieves detailed information about the currently authenticated user from the canvas lms. | - |
CANVAS_GET_DEPARTMENT_LEVEL_COMPLETED_STATISTICS | Retrieves numeric statistics for all completed courses for a specified canvas account id; the account must exist. | account_id |
CANVAS_GET_DEPARTMENT_LEVEL_CURRENT_STATISTICS | Fetches a snapshot of current numerical statistics for a canvas account, requiring its valid id. | account_id |
CANVAS_GET_DEPARTMENT_LEVEL_GRADE_DATA_COMPLETED_GRADES | Retrieves 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 grade in one course. | account_id |
CANVAS_GET_DEPARTMENT_LEVEL_TERM_STATISTICS | Retrieves department-level academic term statistics (e.g., enrollment, activity, grades) for a specified account and term in canvas, provided analytics data is available. | account_id, term_id |
CANVAS_GET_ENROLLMENT_BY_ID | Retrieves a specific enrollment by its id within a given account. | account_id, id |
CANVAS_GET_GRADEBOOK_HISTORY_DAYS | Retrieves a chronological list of dates with grading activity and the active graders for a specified course. | course_id |
CANVAS_GET_PAGE_FOR_COURSE | Retrieves a specific content page (wiki or content page) by its url or numeric id from a specified canvas course. | course_id, url_or_id |
CANVAS_GET_QUIZ_SUBMISSIONS | Retrieves all submissions for a specific quiz within a course; ensure 'course id' and 'quiz id' are valid and the quiz belongs to the course. | course_id, quiz_id |
CANVAS_GET_REPORT_STATUS | Retrieves the status of a previously initiated report in a canvas account, specified by its type and id. | account_id, report, id |
CANVAS_GET_SINGLE_COURSE | Retrieves 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 'include' parameter. | course_id |
CANVAS_GET_SINGLE_SUBMISSION | Retrieves a specific submission for an assignment made by a particular user within a designated course. | course_id, assignment_id, user_id |
CANVAS_GET_SUBMISSION_FILES | Retrieves 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 successful. | course_id, assignment_id, user_id |
CANVAS_GET_USER_ASSIGNMENT_ANALYTICS | Fetches detailed assignment-level analytics for a specific student in a designated course, including submission details and class performance statistics. | course_id, student_id |
CANVAS_GET_USER_COURSE_PROGRESS | Retrieves the academic progress of a specific user within a given course. | course_id, user_id |
CANVAS_GET_USER_PARTICIPATION_ANALYTICS | Retrieves page view activity and participation details for a specific student enrolled in a designated course. | course_id, student_id |
CANVAS_GET_USER_PROFILE | Retrieves profile information for an existing canvas user. | user_id |
CANVAS_GRADE_COMMENT_SUBMISSION | Updates 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. | course_id, assignment_id, user_id |
CANVAS_LIST_ACCOUNTS_FOR_COURSE_ADMINS | Retrieves canvas accounts visible to the current user due to their course-level administrative roles; no request parameters are needed. | - |
CANVAS_LIST_ALL_FOLDERS | Retrieves the first page of folders for a specified canvas course id; this action is scoped to courses only. | id |
CANVAS_LIST_APPOINTMENT_GROUPS | Retrieves a list of canvas appointment groups based on specified filters; any provided 'context codes' must be valid and accessible by the user. | - |
CANVAS_LIST_ASSIGNMENT_SUBMISSIONS | Retrieves submissions for a specific assignment within a course, optionally including related resources or grouping by student group for group assignments. supports pagination to retrieve more than the default 10 submissions. | course_id, assignment_id |
CANVAS_LIST_AVAILABLE_REPORTS | Lists available reports (including those that can be or have been generated) for a valid canvas account id. | account_id |
CANVAS_LIST_CALENDAR_EVENTS_FOR_USER | Retrieves calendar events and assignments for a specific user from canvas lms, supporting extensive filtering options detailed in the request schema. | user_id |
CANVAS_LIST_COMMUNICATION_CHANNELS | Retrieves a list of communication channels associated with a specific user in canvas. | user_id |
CANVAS_LIST_COMM_MESSAGES | Retrieves communication messages from canvas. | - |
CANVAS_LIST_CONTENT_EXPORTS | Retrieves a paginated list of content exports from canvas for a specified, existing course. | course_id |
CANVAS_LIST_COURSES | Retrieves a list of the current user's courses from canvas, optionally filtered by enrollment type and state. | - |
CANVAS_LIST_COURSES_FOR_USER | Retrieves a list of courses in canvas for a specified 'user id', requiring observer or admin permissions to view courses for others. | user_id |
CANVAS_LIST_COURSE_USERS | Retrieves 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. | course_id |
CANVAS_LIST_DISCUSSION_ENTRIES | Tool 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. | course_id, topic_id |
CANVAS_LIST_DISCUSSION_TOPICS | Retrieves a paginated list of discussion topics or announcements for a specified course. | course_id |
CANVAS_LIST_FILES | Fetches metadata (id, name, size, type, urls) for all files within a specified canvas course. | course_id |
CANVAS_LIST_FOLDERS | Retrieves a list of immediate sub-folders within the specified 'folder id'. | folder_id |
CANVAS_LIST_PAGES_FOR_COURSE | Retrieves a list of wiki pages associated with a specific, existing course in canvas. | course_id |
CANVAS_LIST_QUIZZES_IN_COURSE | Retrieves a paginated list of quizzes for a specified, valid canvas course, optionally filtering by a search term in the quiz title. | course_id |
CANVAS_LIST_SENT_CONTENT_SHARES | Retrieves content shares sent by the specified user to other users or courses within canvas. | user_id |
CANVAS_LIST_SUBMISSIONS | Fetches gradebook history submissions for a specific course, assignment, grader, and date from canvas. | course_id, date, grader_id, assignment_id |
CANVAS_LIST_SUBMISSIONSFOR_MULTIPLE_ASSIGNMENTS | Retrieves submissions from a canvas course for specified assignments and/or students; the course must be accessible. | course_id |
CANVAS_LIST_UNCOLLATED_SUBMISSION_VERSIONS | Retrieves 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 user enrolled in the course. | course_id |
CANVAS_LIST_USERS_IN_ACCOUNT | Use this action to retrieve all users associated with a specific, existing canvas account id. | account_id |
CANVAS_REPLY_TO_DISCUSSION_ENTRY | Tool to reply to a discussion entry. use when you need to send a message to a discussion entry with optional attachments. | course_id, topic_id, entry_id, message |
CANVAS_RETRIEVE_ENROLLMENT_TERM | Retrieves detailed information for a specific enrollment term within a given root account in canvas. | account_id, term_id |
CANVAS_START_REPORT | Initiates 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 details. | account_id, report |
CANVAS_TRANSLATE_FILE_REFERENCE | Resolves a file's migration id to its current representation within a specific canvas course. | course_id, migration_id |
CANVAS_UPDATE_APPOINTMENT_GROUP | Updates 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. | appointment_group_id |
CANVAS_UPDATE_COURSE | Updates an existing course, specified by its id, with new attributes or triggers a lifecycle event like 'conclude' or 'delete'. | id |
CANVAS_UPDATE_COURSE_SETTINGS | Updates various settings for an existing course in canvas, identified by 'course id'. | course_id |
CANVAS_UPDATE_FILE | Modifies 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. | file_id |
CANVAS_UPDATE_PAGE_FOR_COURSE | Updates an existing wiki page in a canvas course; if setting as front page, it must also be or be made published. | course_id, url_or_id |
CANVAS_UPDATE_QUIZ_SUBMISSION_SCORES | Updates 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, quiz, and submission ids. | course_id, quiz_id, id, attempt |
CANVAS_UPDATE_USER_SETTINGS | Updates a canvas user's preferences for various interface elements and content interaction behaviors. | user_id |
CANVAS_UPLOAD_COURSE_FILE | Uploads 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 filenames. | course_id, file |
CANVAS_UPLOAD_SUBMISSION_FILE | Uploads 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 be needed if 'user id' isn't 'self'. | course_id, assignment_id, user_id, file |
Links
We love our partners - FlyMy.AI builds with the best. Thanks, Canvas!