Skip to main content
Canvas logo

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.

Actions​

Every action this integration exposes. Agents pick the right one from the task; you do not call them by name.

ActionWhat it doesRequired inputs
CANVAS_CREATE_ACCOUNT_NOTIFICATIONCreates 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_GROUPCreates a new appointment group in canvas for schedulable time slots within specified course or group contexts.context_codes, title
CANVAS_CREATE_ASSIGNMENTCreates a new assignment within a specified course in canvas lms.course_id, name
CANVAS_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 one target ('student ids', 'group id', or 'course section id') is required.course_id, assignment_id
CANVAS_CREATE_CALENDAR_EVENTCreates 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_CHANNELCreates a new communication channel (e.g., email, sms, push) for an existing canvas user to receive notifications.user_id, address, type
CANVAS_CREATE_CONTENT_SHAREShares 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_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 specified) may be reused unless 'force new' is true.recipients, body
CANVAS_CREATE_COURSECreates a new course in canvas within a specified account, with comprehensive configuration options.account_id
CANVAS_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.course_id, topic_id, message
CANVAS_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.course_id, title
CANVAS_CREATE_ENROLLMENTEnrolls 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_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 both) already exist.context_type, id, name
CANVAS_CREATE_MODULECreates a new organizational module within a specified canvas lms course, with options for availability, sequencing, and prerequisites.course_id, name
CANVAS_CREATE_PAGE_FOR_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 publication).course_id, title
CANVAS_CREATE_QUIZCreates 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_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 existing group in the quiz.course_id, quiz_id, question_name, question_text, question_type
CANVAS_DELETE_APPOINTMENT_GROUPPermanently deletes an existing appointment group by its id; associated appointments may also be canceled or affected.appointment_group_id
CANVAS_DELETE_ASSIGNMENTSoft-deletes a specific assignment within a course, returning the assignment object with its 'workflow state' updated to 'deleted'.course_id, assignment_id
CANVAS_DELETE_FOLDERPermanently deletes an existing folder specified by its unique id.id
CANVAS_DELETE_QUIZPermanently 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_GRADESFetches current, aggregated grade data from canvas analytics for a specified account id.account_id
CANVAS_DEPARTMENT_LEVEL_GRADE_DATA_FOR_TERM_GRADESRetrieves department-level aggregated grade data for a specific academic term within a canvas account.account_id, term_id
CANVAS_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.course_id, assignment_id
CANVAS_EDIT_QUIZModifies an existing canvas quiz; only attributes with provided values in the request are updated.course_id, quiz_id
CANVAS_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.course_id, export_type
CANVAS_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 with per page (default 100, max 100) and page (default 1) parameters to fetch…-
CANVAS_GET_ACCOUNTSRetrieves all canvas accounts accessible to the authenticated user.-
CANVAS_GET_ALL_ASSIGNMENTSRetrieves assignments for a specified canvas course.course_id
CANVAS_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.account_id
CANVAS_GET_ASSIGNMENTRetrieves detailed information for a specific assignment within a given course in canvas.course_id, assignment_id
CANVAS_GET_ASSIGNMENT_RUBRICFetches 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_DATARetrieves daily activity analytics, such as page views and participation events, for a specified canvas course.course_id
CANVAS_GET_CURRENT_USERRetrieves detailed information about the currently authenticated user from the canvas lms.-
CANVAS_GET_DEPARTMENT_LEVEL_COMPLETED_STATISTICSRetrieves numeric statistics for all completed courses for a specified canvas account id; the account must exist.account_id
CANVAS_GET_DEPARTMENT_LEVEL_CURRENT_STATISTICSFetches a snapshot of current numerical statistics for a canvas account, requiring its valid id.account_id
CANVAS_GET_DEPARTMENT_LEVEL_GRADE_DATA_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 grade in one course.account_id
CANVAS_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.account_id, term_id
CANVAS_GET_ENROLLMENT_BY_IDRetrieves a specific enrollment by its id within a given account.account_id, id
CANVAS_GET_GRADEBOOK_HISTORY_DAYSRetrieves a chronological list of dates with grading activity and the active graders for a specified course.course_id
CANVAS_GET_PAGE_FOR_COURSERetrieves 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_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.course_id, quiz_id
CANVAS_GET_REPORT_STATUSRetrieves the status of a previously initiated report in a canvas account, specified by its type and id.account_id, report, id
CANVAS_GET_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 'include' parameter.course_id
CANVAS_GET_SINGLE_SUBMISSIONRetrieves a specific submission for an assignment made by a particular user within a designated course.course_id, assignment_id, user_id
CANVAS_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 successful.course_id, assignment_id, user_id
CANVAS_GET_USER_ASSIGNMENT_ANALYTICSFetches 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_PROGRESSRetrieves the academic progress of a specific user within a given course.course_id, user_id
CANVAS_GET_USER_PARTICIPATION_ANALYTICSRetrieves page view activity and participation details for a specific student enrolled in a designated course.course_id, student_id
CANVAS_GET_USER_PROFILERetrieves profile information for an existing canvas user.user_id
CANVAS_GRADE_COMMENT_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.course_id, assignment_id, user_id
CANVAS_LIST_ACCOUNTS_FOR_COURSE_ADMINSRetrieves canvas accounts visible to the current user due to their course-level administrative roles; no request parameters are needed.-
CANVAS_LIST_ALL_FOLDERSRetrieves the first page of folders for a specified canvas course id; this action is scoped to courses only.id
CANVAS_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.-
CANVAS_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 retrieve more than the default 10 submissions.course_id, assignment_id
CANVAS_LIST_AVAILABLE_REPORTSLists available reports (including those that can be or have been generated) for a valid canvas account id.account_id
CANVAS_LIST_CALENDAR_EVENTS_FOR_USERRetrieves 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_CHANNELSRetrieves a list of communication channels associated with a specific user in canvas.user_id
CANVAS_LIST_COMM_MESSAGESRetrieves communication messages from canvas.-
CANVAS_LIST_CONTENT_EXPORTSRetrieves a paginated list of content exports from canvas for a specified, existing course.course_id
CANVAS_LIST_COURSESRetrieves a list of the current user's courses from canvas, optionally filtered by enrollment type and state.-
CANVAS_LIST_COURSES_FOR_USERRetrieves 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_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.course_id
CANVAS_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.course_id, topic_id
CANVAS_LIST_DISCUSSION_TOPICSRetrieves a paginated list of discussion topics or announcements for a specified course.course_id
CANVAS_LIST_FILESFetches metadata (id, name, size, type, urls) for all files within a specified canvas course.course_id
CANVAS_LIST_FOLDERSRetrieves a list of immediate sub-folders within the specified 'folder id'.folder_id
CANVAS_LIST_PAGES_FOR_COURSERetrieves a list of wiki pages associated with a specific, existing course in canvas.course_id
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.course_id
CANVAS_LIST_SENT_CONTENT_SHARESRetrieves content shares sent by the specified user to other users or courses within canvas.user_id
CANVAS_LIST_SUBMISSIONSFetches gradebook history submissions for a specific course, assignment, grader, and date from canvas.course_id, date, grader_id, assignment_id
CANVAS_LIST_SUBMISSIONSFOR_MULTIPLE_ASSIGNMENTSRetrieves submissions from a canvas course for specified assignments and/or students; the course must be accessible.course_id
CANVAS_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 user enrolled in the course.course_id
CANVAS_LIST_USERS_IN_ACCOUNTUse this action to retrieve all users associated with a specific, existing canvas account id.account_id
CANVAS_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.course_id, topic_id, entry_id, message
CANVAS_RETRIEVE_ENROLLMENT_TERMRetrieves detailed information for a specific enrollment term within a given root account in canvas.account_id, term_id
CANVAS_START_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 details.account_id, report
CANVAS_TRANSLATE_FILE_REFERENCEResolves a file's migration id to its current representation within a specific canvas course.course_id, migration_id
CANVAS_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.appointment_group_id
CANVAS_UPDATE_COURSEUpdates an existing course, specified by its id, with new attributes or triggers a lifecycle event like 'conclude' or 'delete'.id
CANVAS_UPDATE_COURSE_SETTINGSUpdates various settings for an existing course in canvas, identified by 'course id'.course_id
CANVAS_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.file_id
CANVAS_UPDATE_PAGE_FOR_COURSEUpdates 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_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, quiz, and submission ids.course_id, quiz_id, id, attempt
CANVAS_UPDATE_USER_SETTINGSUpdates a canvas user's preferences for various interface elements and content interaction behaviors.user_id
CANVAS_UPLOAD_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 filenames.course_id, file
CANVAS_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 be needed if 'user id' isn't 'self'.course_id, assignment_id, user_id, file
We love our partners - FlyMy.AI builds with the best. Thanks, Canvas!