How to connect Canvas to Claude Cowork

Trusted by
AWS
Glean
Zoom
Airtable

30 min · no commitment · see it on your stack

Canvas logo
Claude Cowork logo
divider

Introduction

Cowork is Anthropic's AI agent for knowledge work. Think of it as Claude Code for everything else. It works autonomously with your computer, local files, and applications to accomplish complex tasks.

This guide walks you through the easiest and most secure way to connect your Canvas account to Cowork via Composio Connect, enabling it to create a new assignment for your math course, send a message to all students in Biology 101, schedule office hours as a calendar event, and more such actions on your behalf without compromising your account security.

Also integrate Canvas with

Connecting Canvas to Claude Cowork

1. Open Customize

In Claude Desktop, click Customize in the left sidebar, then select Connectors and click the + icon at the top.

Claude Desktop connectors screen with Add custom connector selected

2. Add the Composio MCP server

Click Add custom connector and paste in the Composio MCP server URL:

bash
https://connect.composio.dev/mcp
Add custom connector dialog with Composio MCP server URL

3. Authorize in your browser

Click Connect. You'll be redirected to a browser window where you can authorize Composio to continue.

Composio authorization screen for Claude Cowork

4. Connect your Canvas account

Back in Cowork, ask the agent to connect to Canvas or give it any Canvas-related task.

For example, ask Cowork to:

  • "Create a new assignment for your math course"
  • "Send a message to all students in Biology 101"
  • "Schedule office hours as a calendar event"

It will prompt you to authenticate and authorize access.

That's it. Composio's tools are now available in Cowork, and your Canvas account is ready to use.

What is Claude Cowork?

Claude Cowork is Anthropic's agent for general knowledge work. It can use your computer, files, and connected applications to complete longer-running tasks across your work tools.

With Composio Connect, Cowork can securely access apps like Canvas through MCP without you sharing account credentials directly with the agent.

What is the Canvas MCP server, and what's possible with it?

The Canvas MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Canvas account. It provides structured and secure access to your courses, assignments, and communications, so your agent can perform actions like creating assignments, posting announcements, sending messages, managing course events, and sharing content on your behalf.

  • Automated assignment management: Have your agent create new assignments or adjust assignment dates and overrides for students, groups, or sections in any of your courses.
  • Course communication and collaboration: Let the agent send messages, start new conversations, or post entries in discussions to keep classes engaged and informed.
  • Calendar and event scheduling: Easily instruct your agent to schedule or update course calendar events and appointment groups, including specific recurrence and blackout dates.
  • Content and notification sharing: Ask your agent to share learning materials, send content to selected users, or create global notifications for everyone in an account.
  • User channel and course creation: Enable your agent to add new communication channels for users or spin up brand new courses with custom configurations, all through secure automation.

Supported Tools & Triggers

Tools
Triggers
Abort Quiz Report GenerationAborts the generation of a quiz report or removes a previously generated one.
Add conversation messageTool to add a message to an existing Canvas conversation.
Add course to favoritesTool to add a course to the current user's favorites.
Add group to favoritesTool to add a group to the current user's favorites.
Add last attended dateTool to add or update the last attended date for a student enrollment in a course.
Add recipients to conversationTool to add recipients to an existing group conversation.
Add users to content shareTool to send a previously created content share to additional users.
Answer quiz questionsTool to provide or update answers to quiz questions for a quiz submission.
Assign unassigned members to group categoryTool to assign unassigned members to groups within a group category.
Clear Course NicknamesTool to remove all stored course nicknames for the current user.
Close notification for userTool to excuse/close an account notification for the current user.
Conclude, deactivate, or delete an enrollmentTool to conclude, deactivate, or delete an enrollment in a Canvas course.
Copy File to FolderCopies an existing Canvas file to a specified destination folder.
Copy FolderTool to copy a folder to another folder in 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.
Create a user content migrationTool to create a content migration for a Canvas user.
Create appointment groupCreates a new appointment group in Canvas for schedulable time slots within specified course or group contexts.
Create an assignmentCreates a new assignment within a specified course in Canvas LMS.
Create assignment via GraphQLTool to create a new assignment in a Canvas course using the GraphQL API.
Create assignment groupCreate a new assignment group for a course.
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.
Batch create overrides in a courseTool to batch create assignment overrides for multiple assignments in a course.
Create blackout date for courseTool to create a blackout date for the given course context.
Create BookmarkCreates a new bookmark for the authenticated user.
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.
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 specified) may be reused unless `force_new` is true.
Create conversation via GraphQLTool to create a new conversation (message) between users in Canvas via GraphQL.
Create a courseCreates a new course in Canvas within a specified account, with comprehensive configuration options.
Create Course Grading StandardTool to create a new grading standard in a Canvas course.
Create a custom gradebook columnCreates a new custom gradebook column in a course.
Create discussion entryTool to create a new entry in a Canvas discussion topic.
Create discussion entry (GraphQL)Tool to create a new entry in a Canvas discussion topic via GraphQL.
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 discussion topic (GraphQL)Tool to create a new discussion topic in a course or group using the Canvas GraphQL API.
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 ePub exportTool to initiate an ePub export for a course.
Create External FeedCreates a new external RSS or Atom feed for a Canvas course.
Create External Feed for GroupTool to create a new external RSS or Atom feed for a Canvas group.
Create external toolTool to create an external tool in a Canvas account.
Create external tool in courseTool to create an external tool in the specified course.
Create FilesTool to initiate file upload to Canvas (Step 1 of 3-step process).
Create folderTool to create a folder in the specified context.
Create Folder in GroupTool to create a folder within a Canvas group.
Create a groupTool to create a new community group directly.
Create a group category in a courseCreates a new group category within a specified Canvas course.
Create a content migration for groupTool to create a content migration in a Canvas group.
Create group discussion topicTool to create a new discussion topic in a Canvas group.
Create group in setTool to create a new group within a Canvas group set.
Create a group setTool to create a new group set (group category) in a Canvas course or account.
Create Learning OutcomeTool to create a new learning outcome in Canvas using GraphQL.
Create/Link an outcome in courseTool to link an existing outcome or create a new outcome within a course outcome group.
Create an LTI resource linkCreates a new LTI Resource Link in a Canvas course.
Create a membershipTool to join or request to join a group, depending on the join level of the group.
Create ModuleCreates a new organizational module within a specified Canvas LMS course, with options for availability, sequencing, and prerequisites.
Create module (GraphQL)Tool to create a new module in a Canvas course via GraphQL.
Create Module ItemCreate and return a new module item within a Canvas course module.
Create or Update Timetable EventsTool to create or update timetable events for a course or course section.
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 publication).
Create a page for a groupCreates a new wiki page in a specified Canvas group.
Create a planner noteCreate a planner note for the current user.
Create a planner overrideTool to create a planner override for the current user.
Create Question GroupTool to create one or more question groups for a quiz.
Create QuizCreates a new quiz with various settings in a specified existing Canvas course; `assignment_group_id` applies only to graded quiz types.
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 existing group in the quiz.
Create Quiz ReportTool to create a quiz report in Canvas.
Create quiz submission (start quiz)Tool to start taking a quiz by creating a quiz submission.
Create RubricTool to create a rubric in a Canvas course.
Create Single PollTool to create a new poll for the current user in Canvas.
Create a single poll choiceTool to create one or more poll choices for an existing poll in Canvas.
Create Single Poll SessionTool to create a new poll session for a poll in Canvas.
Create a single poll submissionTool to create a new poll submission for a poll session.
Create Subgroup in CourseCreates a new empty subgroup under the outcome group with the given title and description.
Create submission draftTool to create a draft submission for an assignment in Canvas via GraphQL.
Create user inbox labelTool to create new user inbox labels in Canvas.
Create Users Custom DataTool to create or update custom data for a Canvas user within a specified namespace.
Create User TokenTool to create a new access token for a Canvas user.
Delete an access tokenTool to delete an access token for a Canvas user.
Delete messages from conversationTool to delete messages from a Canvas conversation.
Delete a discussion entryTool to delete a discussion entry.
Delete a group discussion entryTool to delete a discussion entry in a group discussion.
Delete an external toolRemove the specified external tool from a course.
Delete an outcome group (courses)Deletes an outcome group from a course.
Delete appointment groupPermanently deletes an existing appointment group by its ID; associated appointments may also be canceled or affected.
Delete an assignmentSoft-deletes a specific assignment within a course, returning the assignment object with its `workflow_state` updated to 'deleted'.
Delete assignment overrideDeletes an assignment override and returns its former details.
Delete blackout dateTool to delete a blackout date for the given course context.
Delete bookmarkDeletes a bookmark from the current user's bookmarks.
Delete a calendar eventDelete a calendar event from Canvas and return the deleted event details.
Delete comment bank itemTool to delete a comment bank item from Canvas.
Delete a communication channelDeletes an existing communication channel for a user.
Delete communication channel by type and addressDeletes a communication channel by type and address.
Delete conversation messagesTool to delete specific messages from a Canvas conversation.
Delete conversationsTool to delete one or more Canvas conversations.
Delete custom dataTool to delete custom user data for a given namespace.
Delete a custom gradebook columnPermanently deletes a custom gradebook column and its associated data from a course.
Delete custom grade statusTool to delete a custom grade status from Canvas.
Delete discussion entryTool to delete a discussion entry.
Delete discussion topic (GraphQL)Tool to delete a discussion topic in Canvas via GraphQL.
Delete external feed from groupDeletes the external feed from the specified group.
Delete fileTool to remove a file from Canvas.
Delete a folderPermanently deletes an existing folder specified by its unique ID.
Delete a groupDeletes a group and removes all members.
Delete group discussion topicDeletes the discussion topic from a group.
Delete outcome linksTool to delete links between outcomes and content in Canvas.
Delete page for a groupDeletes a wiki page from a Canvas group.
Delete a planner noteDelete a planner note for the current user.
Delete a planner overrideDelete a planner override for the current user.
Delete pollPermanently deletes the poll identified by `id`; returns 204 No Content if successful.
Delete a poll choiceTool to delete a poll choice from a Canvas poll.
Delete a poll sessionTool to permanently delete a poll session from a poll.
Delete quizPermanently deletes the quiz identified by `quiz_id` from the course identified by `course_id`; this action cannot be undone.
Delete submission draftTool to delete a submission draft in Canvas via GraphQL.
Delete user inbox labelTool to delete user inbox labels in Canvas.
Delete user custom data scopeTool to delete custom user data at a specific scope path.
Get current gradesFetches current, aggregated grade data from Canvas analytics for a specified account ID.
Get term grade dataRetrieves department-level aggregated grade data for a specific academic term within a Canvas account.
Post discussion entry or replyPosts a new entry or reply to a Canvas discussion topic.
Duplicate group discussion topicTool to duplicate an existing discussion topic in a Canvas group.
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.
Edit a conversationTool to update attributes for a single conversation in Canvas.
Edit a quizModifies an existing Canvas quiz; only attributes with provided values in the request are updated.
Edit UserModifies an existing Canvas user's profile and settings.
Export contentInitiates an asynchronous export of course content from Canvas.
Export group contentTool to begin a content export job for a group.
Export user contentTool to begin a content export job for a user.
Fetch DataFetches a specific category of Canvas data (e.
Find recipientsFind valid recipients (users, courses and groups) that the current user can send messages to.
Get a single course from accountTool to retrieve information on a single course from a Canvas account.
Get account (GraphQL)Tool to retrieve account information by ID or SIS ID using the Canvas GraphQL API.
Get Account NotificationsTool to retrieve global account notifications for the current user in Canvas LMS.
Get accounts outcome groupsTool to retrieve a specific outcome group from a Canvas account.
Get Accounts That Users Can Create Courses InRetrieves Canvas accounts where the current user has permission to create courses; typically returns results only for administrators.
Get a content migration for groupTool to retrieve data on an individual content migration from a Canvas group.
Get a content migration for userTool to retrieve data on an individual content migration from a Canvas user.
Get a late policyTool to retrieve the late policy for a Canvas course.
Get aligned assignments for an outcomeRetrieves outcome alignments for a student or assignment within a course.
Get assignments for a specific course (requires course_id)Retrieves assignments for a specific Canvas course.
Get All ePortfolios for UserTool to retrieve all ePortfolios for a specified user from Canvas LMS.
Get All Outcome Groups for ContextTool to retrieve all outcome groups for an account context in Canvas.
Get all outcome groups for courseTool to retrieve all outcome groups for a course context in Canvas.
Get All Outcome Links for ContextRetrieves all outcome links for a Canvas account context.
Get All Outcome Links for Context (Courses)Retrieves all outcome links for a Canvas course context.
Get all peer reviews for submissionRetrieves all peer reviews for a specific submission within a Canvas assignment.
Get all peer reviews for section assignmentRetrieves all peer reviews for a specific assignment within a Canvas section.
Get all peer reviews for section submissionRetrieves all peer reviews for a specific submission within a Canvas section assignment.
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 an assignment groupRetrieves the assignment group with the given id from a Canvas course.
Get notification preferenceFetches the notification preference for a specific notification on a given communication channel.
Get notification preference by type and addressFetches the notification preference for a specific notification on a given communication channel using channel type and address.
Get a single external toolTool to retrieve detailed information for a specific external tool within a Canvas course.
Get a single group membershipTool to retrieve a single group membership by its membership_id or user_id.
Get a single group membership by user IDTool to retrieve a single group membership by user_id.
Get assignment (GraphQL)Tool to retrieve information about a specific assignment by ID using the Canvas GraphQL API.
Get assignment groupTool to retrieve information about a specific assignment group by ID.
Get Assignment RubricFetches the detailed rubric for a specified assignment within a Canvas course; returns has_rubric=false if the assignment has no associated rubric.
Get Audit LogsTool to access Canvas audit logs for a specified asset using the GraphQL API.
Get a user's most recently graded submissionsRetrieves a user's most recently graded submissions.
Get Authentication ProviderRetrieves a specific authentication provider configuration for a Canvas account.
Get BookmarkRetrieves the details for a specific bookmark by ID.
Get brand variablesTool to retrieve all brand configuration variables for the Canvas account.
Get content shareRetrieves detailed information about a single content share by ID for a specified user.
Get content shares unread countTool to retrieve the count of unread content shares for the authenticated user.
Get courseTool to retrieve information about a specific course by ID using the Canvas GraphQL API.
Get course activity streamTool to retrieve the current user's course-specific activity stream, paginated.
Get course activity stream summaryTool to retrieve a summary of the current user's course-specific activity stream.
Get Course ActivityRetrieves daily activity analytics, such as page views and participation events, for a specified Canvas course.
Get course nicknameRetrieves the nickname for a specific Canvas course.
Get Course PermissionsReturns permission information for the calling user in the given course.
Batch retrieve assignment overridesTool to batch retrieve assignment overrides in a course.
Get Blueprint Subscription MigrationsRetrieves blueprint subscription migrations for a Canvas course.
Get course settingsTool to retrieve settings for a specific Canvas course.
Get courses folders by pathTool to retrieve folder hierarchy by resolving a path within a Canvas course.
Get course root folderTool to retrieve the root folder for a course.
Get courses (GraphQL)Tool to get all courses viewable by the current user using the Canvas GraphQL API.
Get courses outcome groupsRetrieves a specific outcome group for a course.
Get Current UserRetrieves detailed information about the currently authenticated user from the Canvas LMS.
Get Custom ColorTool to retrieve the custom color that a user has saved for a specific course or context in Canvas.
Get Custom ColorsTool to retrieve all custom colors saved by a user in Canvas LMS.
Get Dashboard PositionsTool to retrieve all dashboard positions saved for a user.
Get department-level completed statisticsRetrieves department-level numeric statistics for all completed (concluded) courses within the default term for a specified Canvas account.
Get department level current statisticsFetches a snapshot of current numerical statistics for a Canvas account, requiring its valid ID.
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 grade in one course.
Get department level term statisticsRetrieves department-level statistics for a specific academic term, including counts of courses, teachers, students, discussion topics, media objects, attachments, and assignments.
Get document annotations read stateRetrieves the read state of document annotations for a student's submission.
Get enrollment by IDRetrieves a specific enrollment by its ID within a given account.
Get Enrollment InvitationsTool to retrieve pending enrollment invitations for the current user.
Get feature flag for accountTool to retrieve a specific feature flag for a given Canvas account.
Get feature flag for courseGet the feature flag that applies to a given Course.
Get fileTool to retrieve detailed metadata for a specific Canvas file by its ID.
Get folderRetrieves details for a specific folder within a Canvas course.
Get Folder By IDRetrieves the details for a specific folder by its ID.
Get Full Topic for GroupsTool to retrieve the full cached structure of a group discussion topic.
Get Global Outcome GroupRetrieves a global outcome group by ID from Canvas.
Get gradebook history daysRetrieves a chronological list of dates with grading activity and the active graders for a specified course.
Get a groupRetrieves detailed information for a single Canvas group by its ID.
Get group activity streamTool to retrieve the current user's group-specific activity stream, paginated.
Get Group Activity Stream SummaryRetrieves a summary of the current user's group-specific activity stream.
Get Group FolderRetrieves the details for a folder within a Canvas group.
Get Group PermissionsReturns permission information for the calling user in the given group.
Get account help linksRetrieves help links configured for the specified Canvas account.
Get Internal SettingsTool to retrieve all internal settings from Canvas using the GraphQL API.
Get Kaltura configTool to return the config information for the Kaltura plugin in JSON format.
Get learning outcomeTool to retrieve learning outcome information by ID using the Canvas GraphQL API.
Get learning outcome groupTool to retrieve learning outcome group information by ID via GraphQL.
Get Legacy NodeTool to fetch Canvas objects using REST-style numeric identifiers via GraphQL.
Get manually-created courses sub-accountTool to retrieve the manually-created courses sub-account for the domain root account.
Get Module ItemTool to retrieve information about a specific module item by ID using the Canvas GraphQL API.
Get Module Item SequenceTool to find the module item sequence for a given asset in a Canvas course.
Get my inbox settingsTool to retrieve inbox settings for the current user in Canvas.
Get next appointmentRetrieves the next available appointment from Canvas appointment groups.
Get node by IDTool to fetch Canvas objects by their GraphQL global identifier using the node query.
Get outcome calculation methodTool to retrieve outcome calculation method information by ID using the Canvas GraphQL API.
Get outcome proficiency (GraphQL)Tool to retrieve outcome proficiency information for an account using the Canvas GraphQL API.
Get outcome result rollupsTool to retrieve outcome result rollups for users and outcomes in a specified course context.
Get Outcome ResultsTool to get outcome results for users and outcomes in a course context.
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 proficiency ratings for courseRetrieves course-level proficiency ratings for learning outcomes.
Get public inline preview URLTool to determine the URL for inline preview of a Canvas file.
Get a quiz reportRetrieves the data for a single quiz report.
Get Quiz StatisticsTool to fetch the latest quiz statistics for a Canvas quiz.
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 Quota InformationRetrieves the total and used storage quota for a Canvas user.
Get quota information for groupReturns the total and used storage quota for the group.
Get report statusRetrieves the status of a previously initiated report in a Canvas account, specified by its type and ID.
Get Root Outcome Group for CourseRetrieves the root outcome group for a specified course context.
Get rubricTool to retrieve rubric information by ID using the Canvas GraphQL API.
Get Rubric Assessments Read StateTool to check whether new rubric comments/grading made on a submission have been seen by the student being assessed.
Get Rubrics Upload TemplateTool to retrieve a CSV template file for importing rubrics into Canvas.
Get running batchesTool to retrieve any currently running conversation batches for the current user.
Get section informationRetrieves detailed information for a specific Canvas section within a course.
Get section information by IDRetrieves detailed information for a specific Canvas section by section ID alone.
Get section assignment submission summaryRetrieves submission summary counts for a specific assignment within a section.
Get sessionless launch URL for external toolReturns a sessionless launch URL for an external tool in Canvas.
Get sessionless launch URL for external tool in courseReturns a sessionless launch URL for an external tool in a Canvas course.
Get a single accountRetrieve information on an individual account by ID or SIS account ID.
Get a single assignment overrideRetrieves details of the assignment override with the given id for a specific assignment in a course.
Get single calendar eventTool to retrieve a single calendar event or assignment by ID from Canvas.
Get a single conversationTool to retrieve detailed information for a single conversation including all messages and extended participant information.
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 `include` parameter.
Get a single external toolTool to retrieve detailed information for a specific external tool within a Canvas account.
Get a single grading standard in course contextRetrieves a single grading standard for the given course context that is visible to the user.
Get a single pollTool to retrieve a single poll by its ID from Canvas.
Get a single poll choiceTool to retrieve a single poll choice by its ID from a Canvas poll.
Get a single quizRetrieves detailed information for a specific quiz in a Canvas course.
Get single quiz submissionTool to retrieve a single quiz submission by ID.
Get single submissionRetrieves a specific submission for an assignment made by a particular user within a designated course.
Get single submission by sectionRetrieves a specific submission for an assignment made by a particular user within a designated section.
Get a single discussion topicTool to retrieve detailed information about a single discussion topic in a Canvas course.
Get a single group discussion topicTool to retrieve detailed information about a single discussion topic within a Canvas group.
Get Single UserRetrieves detailed information for a single user in a Canvas course.
Get Status of Last ReportTool to retrieve the status of the last generated report for a specific course in Canvas.
Get sub-accounts of an accountList accounts that are sub-accounts of the given account.
Get submissionTool to retrieve submission information by ID using the Canvas GraphQL API.
Get assignment submission summaryRetrieves submission summary counts for a specific assignment.
Get terms of serviceTool to retrieve the terms of service for a Canvas account.
Get quiz submissionTool to get the quiz submission for the current user in a specific quiz.
Get Unread CountTool to get the number of unread conversations for the current user.
Get uploaded media folder for userTool to retrieve the details for a designated upload folder that the user has rights to upload media to, creating it if it doesn't exist.
Get uploaded media folder for user (groups)Tool to retrieve the details for a designated upload folder that the user has rights to upload media to within a group, creating it if it doesn't exist.
Get user activity stream summaryTool to retrieve a summary of the current user's global activity stream.
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 AvatarsTool to retrieve available avatar options for a Canvas user.
Get user content exportTool to retrieve information about a specific content export job for a user.
Get user course progressRetrieves the academic progress of a specific user within a given course.
Get user fileTool to retrieve detailed metadata for a specific file owned by a user.
Get user folderTool to retrieve details for a specific folder in a user's Canvas file space.
Get user migration issueTool to retrieve detailed information about a specific migration issue for a user in Canvas.
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.
Get Users Custom Data ScopeTool to retrieve custom data stored for a Canvas user within a specified namespace and optional scope.
Get users self filesTool to retrieve all files for the currently authenticated user.
Get User TokenRetrieves detailed information about a specific access token for a Canvas user.
Get visible course navigation toolsTool to get external tools with course_navigation placement that are visible to the requesting user.
Get visible course navigation toolsRetrieves external tools with course_navigation placement that are visible in the course navigation for a specific course.
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.
Grade or comment on submission (sections)Update grades and/or add comments to a student's assignment submission.
Hide all stream itemsTool to hide all activity stream items for the current user.
Hide assignment grades for sectionsTool to hide assignment grades for specific sections in Canvas.
Hide stream itemTool to hide a stream item from the user's activity stream.
Import an outcome group (courses)Tool to import an outcome group into a Canvas course.
Invite others to a groupTool to send invitations to all supplied email addresses which will allow the receivers to join the group.
Leave a groupTool to leave a group by removing the specified membership.
Leave groupTool to leave a group if allowed.
List account notificationsTool to retrieve all active global notifications for a Canvas account.
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 the activity streamRetrieves the current user's global activity stream from Canvas, paginated.
List all courses (GraphQL)Tool to retrieve all courses that the user is enrolled in using the Canvas GraphQL API.
List all foldersRetrieves the paginated list of all folders for a specified Canvas course.
List all folders for groupRetrieves the paginated list of all folders for a specified Canvas group.
List all folders for userTool to retrieve the paginated list of all folders for a specified Canvas user.
List AnnouncementsTool to retrieve paginated list of announcements for specified courses and date range.
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 groupsReturns the paginated list of assignment groups for the current context.
List assignment overridesTool to retrieve the paginated list of overrides for an assignment.
List assignments for assignment groupTool to retrieve the paginated list of assignments for a specific assignment group within a course.
List assignments for user in courseTool to list assignments for a specific user in a Canvas course.
List assignment submissionsRetrieves submissions for a specific assignment within a course, optionally including related resources or grouping by student group for group assignments.
List assignment submissions by sectionTool to list all submissions for an assignment within a specific section.
List Authentication Events for UserTool to list authentication events (logins and logouts) for a given user from Canvas LMS audit logs.
List available account calendarsReturns a paginated list of account calendars available to the current user.
List Available ReportsLists available reports (including those that can be or have been generated) for a valid Canvas account ID.
List Available Tabs for a CourseTool to retrieve navigation tabs for a Canvas course.
List Available Tabs for a GroupTool to retrieve navigation tabs for a Canvas group.
List Available Tabs for UserTool to retrieve a paginated list of navigation tabs available in a user context.
List blackout dates for accountRetrieves the list of blackout dates for a Canvas account context.
List Blueprint ImportsTool to list blueprint migrations imported into a course associated with a blueprint.
List BookmarksReturns the paginated list of bookmarks for the authenticated user.
List calendar events for current userTool to retrieve the paginated list of calendar events or assignments for the current user.
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 Enabled Features for a UserTool to retrieve a paginated list of enabled feature names for a Canvas user.
List external tools for courseTool to retrieve the paginated list of external tools for a course.
List closed poll sessionsTool to retrieve a paginated list of all closed poll sessions available to the current user.
List communication messagesRetrieves communication messages from Canvas.
List communication channelsRetrieves a list of communication channels associated with a specific user in Canvas.
List Conferences for Current UserTool to retrieve the paginated list of conferences for all courses and groups the current user belongs to.
List content exportsLists all content export jobs for a course.
List content exports for groupsLists all content export jobs for a group.
List content licenses for a courseTool to retrieve a list of content licenses that can be applied to course content in Canvas.
List content migrations for userTool to retrieve paginated content migrations for a specified user in Canvas.
List content migrations for groupsLists all content migrations for a group.
List ConversationsTool to retrieve the paginated list of conversations for the current user, most recent ones first.
List counts for todo itemsGet counts of different todo items for the current user, including assignments needing grading and assignments needing submitting.
List blackout dates for courseTool to retrieve the list of blackout dates for a Canvas course.
List Course NicknamesTool to retrieve all course nicknames set by the current user.
List coursesRetrieves a list of the current user's courses from Canvas, optionally filtered by enrollment type and state.
List course sectionsTool to retrieve a paginated list of sections for a specific course.
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 Course SubgroupsTool to retrieve a paginated list of immediate OutcomeGroup children of an outcome group in a course.
List courses with their latest ePub exportTool to list all courses a user is actively participating in and their latest ePub exports.
List Course TODO ItemsReturns the current user's course-specific todo items.
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 custom gradebook columnsReturns a paginated list of all custom gradebook columns for a course.
List Discussion EntriesTool to retrieve paginated discussion entries for a specific discussion topic in a course.
List Discussion Entry ListTool to retrieve a paginated list of discussion entries by their ids from a group discussion topic.
List Discussion TopicsRetrieves a paginated list of discussion topics or announcements for a specified course.
List discussion topics for groupTool to retrieve the paginated list of discussion topics for a specific group.
List Enabled Features for a CourseTool to retrieve a paginated list of enabled feature names for a Canvas course.
List EnrollmentsTool to retrieve a paginated list of enrollments for a course, section, or user.
List Enrollment TermsTool to retrieve a paginated list of all enrollment terms in an account.
List Entries By IDsTool to retrieve specific discussion entries by their IDs from a discussion topic.
List entries for a columnTool to retrieve entries from a custom gradebook column for a course.
List Entry RepliesTool to retrieve replies for a specific discussion entry in a course.
List environment featuresTool to return a hash of global feature options that pertain to the Canvas user interface.
List Environment SettingsRetrieves global environment settings for the root Canvas account.
List external feeds for groupTool to retrieve the paginated list of external RSS feeds for a group.
List External ToolsRetrieves the paginated list of external tools for the specified Canvas account.
List favorite coursesTool to retrieve the paginated list of favorite courses for the current user.
List favorite groupsRetrieves the paginated list of favorite groups for the current user.
List Features for CourseRetrieves all feature flags for a Canvas course.
List Features for UserRetrieves a paginated list of all features that apply to a given User.
List FilesFetches metadata (ID, name, size, type, URLs) for all files within a specified Canvas course.
List files in folderTool to list files within a specific Canvas folder.
List foldersRetrieves a list of immediate sub-folders within the specified `folder_id`.
List Global SubgroupsTool to retrieve a paginated list of immediate OutcomeGroup children of a global outcome group.
List gradeable studentsTool to retrieve a paginated list of students eligible to submit a specific assignment.
List grading periods for a courseReturns the paginated list of grading periods for the current course.
List Grading Standards Available in ContextTool to retrieve grading standards available in a Canvas course context.
List group categories for a courseTool to retrieve group categories in a course context.
List Group Entry RepliesTool to retrieve paginated replies to a top-level entry in a group discussion topic.
List external tools for groupTool to retrieve the paginated list of external tools for a group.
List Group FilesTool to retrieve the paginated list of files for a specified group in Canvas.
List Group MembershipsTool to retrieve a paginated list of members in a Canvas group.
List groups available in a contextTool to retrieve the paginated list of active groups in a course context that are visible to the user.
List Groups in AccountRetrieves the paginated list of active groups in the specified Canvas account (use 'self' for current user's root account) that are visible to the user.
List group's usersRetrieves a paginated list of users in a Canvas group.
List LicensesRetrieves a paginated list of licenses that can be applied to content in Canvas.
List licenses for a groupTool to retrieve a paginated list of content licenses that can be applied to group content in Canvas.
List linked outcomes for outcome groupTool to retrieve a paginated list of the immediate OutcomeLink children of an outcome group.
List linked outcomes for course outcome groupTool to retrieve a paginated list of the immediate OutcomeLink children of an outcome group in a course.
List LTI Launch Definitions for CourseRetrieves LTI launch definitions for a Canvas course.
List Manageable AccountsRetrieves Canvas accounts where the current user has permission to create or manage courses.
List Media ObjectsTool to list media objects associated with a Canvas course.
List Media Objects 2Tool to list media objects created by the user for a Canvas course.
List Media Objects for GroupTool to list media objects created by the user in a Canvas group.
List Media Objects for GroupTool to list media objects associated with a Canvas group.
List Media Objects for UserTool to list media objects created by the authenticated user.
List migration issuesRetrieves paginated list of issues that occurred during a content migration.
List migration systems for groupLists the currently available migration types for a Canvas group.
List migration systems for userLists currently available migration types for importing content into a user's Canvas context.
List missing submissions for a userList past-due assignments for which the student does not have a submission.
List module itemsRetrieves a paginated list of items (assignments, quizzes, pages, files, etc.
List ModulesTool to retrieve a paginated list of modules in a Canvas course.
List My Admin RolesRetrieves a paginated list of the current user's admin roles in a Canvas account.
List notification preference categoriesFetches all notification preference categories for a specific communication channel.
List notification preferencesTool to fetch all notification preferences for a given communication channel.
List ObserveesRetrieves a paginated list of observees for a Canvas user.
List observers for a userRetrieves a paginated list of observers linked to a given user.
List opened poll sessionsTool to retrieve a paginated list of all opened poll sessions available to the current user.
List pages for a courseRetrieves a list of wiki pages associated with a specific, existing course in Canvas.
List pages for a groupTool to retrieve a paginated list of wiki pages associated with a Canvas group.
List planner items for a userList a user's cross-course Planner items (assignments, discussions, quizzes, etc.
List planner notesRetrieve the paginated list of planner notes for the current authenticated user.
List Planner OverridesRetrieves planner overrides for the currently authenticated user.
List poll choices in a pollReturns the paginated list of poll choices in a poll.
List polls for current userRetrieves the paginated list of polls for the current authenticated user.
List poll sessions for a pollTool to retrieve the paginated list of poll sessions for a specific poll.
List notification preferencesFetches all notification preferences for a given communication channel.
List questions in a quizReturns the paginated list of QuizQuestions in this quiz.
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 received content sharesRetrieves content shares received by the specified user from other users or courses within Canvas.
List Recent History for a UserReturn a paginated list of the user's recent browsing history in Canvas.
List revisions for a group pageTool to retrieve a paginated list of revisions for a specific page in a Canvas group.
List RolesRetrieves all available roles in a Canvas account.
List Section EnrollmentsTool to retrieve a paginated list of enrollments for a specific section.
List sent content sharesRetrieves content shares sent by the specified user to other users or courses within Canvas.
List SubgroupsRetrieves a paginated list of immediate outcome subgroups for a specified outcome group.
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 submissions for multiple assignments in sectionTool to retrieve submissions from a Canvas section for specified assignments and/or students.
List the activity streamTool to retrieve the current user's global activity stream, paginated.
List the current user's TODO itemsRetrieves a paginated list of the current user's todo items in Canvas.
List Topic EntriesTool to retrieve paginated top-level entries in a group discussion topic.
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.
List Upcoming Assignments Calendar EventsTool to retrieve a paginated list of the current user's upcoming events and assignments.
List user content exportsTool to retrieve a paginated list of past and pending content export jobs for a user.
List User EnrollmentsTool to retrieve a paginated list of all enrollments for a specific user.
List User FilesRetrieves the paginated list of files for a specific user.
List user loginsRetrieves a paginated list of user logins for the specified Canvas account.
List User LoginsTool to retrieve a paginated list of logins for a specific Canvas user.
List users in courseTool to return the paginated list of users in a Canvas course.
List users in group categoryRetrieve a paginated list of users in a group category.
List your groupsReturns a paginated list of active groups for the current user.
Mark all conversations as readTool to mark all conversations as read for the current user.
Mark all entries as readTool to mark the discussion topic and all its entries as read.
Mark all group discussion entries as readTool to mark the discussion topic and all its entries as read in a group.
Mark all group discussion entries as unreadTool to mark the discussion topic and all its entries as unread for a group.
Mark all discussion topics as readMark the initial text of all discussion topics as read in a course.
Mark all group discussion topics as readMark the initial text of all discussion topics as read in a group.
Mark bulk submissions as readMarks multiple submissions as read in a single operation.
Mark bulk submissions as read (section)Marks multiple submissions as read for a specific section.
Mark document annotations as readMarks document annotations on a submitted assignment as read by the student.
Mark document annotations as read (section)Tool to mark annotations on a submitted document as read by the student.
Mark group discussion entry as readTool to mark a discussion entry as read in a group context.
Mark group discussion entry as unreadTool to mark a group discussion entry as unread.
Mark module item as readTool to mark a module item as read, fulfilling the 'must view' requirement.
Mark rubric assessments as readTool to mark rubric comments/grading on a submission as read by the student.
Mark rubric assessments as read (sections)Tool to mark rubric comments/grading on a submission as read by the student within a specific section.
Mark submission as read (sections)Marks a student's submission as read for a specific assignment within a section.
Mark submission as unreadMarks a student's submission as unread for a specific assignment.
Mark submission comments as readTool to mark submission comments as read in Canvas via GraphQL.
Mark group discussion topic as readMarks the initial text of a discussion topic as read for the current user in a group.
Mark group discussion topic as unreadMarks the initial text of a group discussion topic as unread for the current user.
Set quiz accommodationsEXPERIMENTAL: Sets quiz-level accommodations (extra time, extra attempts, reduced choices) for one or more students on a New Quiz.
Set course quiz accommodationsEXPERIMENTAL: Sets course-level accommodations (extra time, apply-to-in-progress, reduced choices) for one or more students.
Create a new quizEXPERIMENTAL: Creates a New Quiz in a Canvas course with the specified title, dates, grading type, instructions, and nested quiz settings (attempts, result view, IP filtering, shuffling, time limit, etc.
Delete a new quizEXPERIMENTAL: Permanently deletes the New Quiz identified by `assignment_id` from the course identified by `course_id`; this action cannot be undone.
Get a new quizEXPERIMENTAL: Retrieves a single New Quiz from a Canvas course by its assignment ID.
Create a quiz itemEXPERIMENTAL: Creates a new QuestionItem in a New Quiz.
Delete a quiz itemEXPERIMENTAL: Permanently deletes a single quiz item (question) from a New Quiz; this action cannot be undone.
Get a quiz itemEXPERIMENTAL: Retrieves a single quiz item (question) from a New Quiz.
List quiz itemsEXPERIMENTAL: Lists all items (questions) in a New Quiz.
Get items media upload URLEXPERIMENTAL: Retrieves a presigned URL that can be used to upload media (images, audio, etc.
Update a quiz itemEXPERIMENTAL: Updates an existing quiz item (question) in a New Quiz.
List new quizzesEXPERIMENTAL: Lists all New Quizzes in a Canvas course.
Create a new quiz reportEXPERIMENTAL: Creates a report for a New Quiz.
Update a new quizEXPERIMENTAL: Updates an existing New Quiz in a Canvas course.
Post assignment grades for sectionsTool to post assignment grades for specific sections in Canvas.
Post group discussion entryTool to create a new entry in a Canvas group discussion topic.
Post group discussion replyTool to post a reply to a discussion entry in a group.
Preview processed HTMLTool to preview HTML content processed for a Canvas course.
Preview processed HTML for groupTool to preview HTML content processed for a specific Canvas group.
Query progressTool to return completion and status information about an asynchronous job in Canvas LMS.
Rate group discussion entryTool to rate a discussion entry in a Canvas group.
Redirect to Assignment Override for SectionTool to retrieve the assignment override for a specific section.
Redirect to Root Outcome Group for ContextRetrieves the root outcome group for a specified account context.
Remove content shareTool to remove a content share from your list.
Remove course from favoritesTool to remove a course from the current user's favorites list.
Remove Course NicknameTool to remove the nickname for a specific course.
Remove feature flag for usersRemove feature flag for a given User.
Remove group from favoritesTool to remove a group from the current user's favorites.
Remove usage rights from group filesTool to remove copyright and license information from one or more files in a group.
Remove usage rights from user filesTool to remove copyright and license information from one or more files for a user.
Reorder custom gradebook columnsReorders custom gradebook columns in a course.
Reorder pinned topics for groupTool to reorder pinned discussion topics in a Canvas group.
Reply to discussion entryTool to reply to a discussion entry.
Reset Course FavoritesTool to reset the current user's course favorites to the default automatically generated list of enrolled courses.
Reset group favoritesTool to reset the current user's group favorites to the default automatically generated list of enrolled groups.
Reset link verifierResets the link verifier for a file.
Resolve Folder PathResolves a folder path and returns the complete hierarchy.
Resolve group folder pathTool to retrieve folder hierarchy by resolving a path within a Canvas group.
Retrieve All Quiz ReportsRetrieves a list of all available reports for a specified quiz.
Retrieve assignment overridden dates for Classic QuizzesRetrieves the actual due-at, unlock-at, and lock-at dates for Classic Quizzes based on assignment overrides active for the current API user.
Retrieve assignment overridden dates for New QuizzesRetrieves the actual due-at, unlock-at, and lock-at dates for New Quizzes based on assignment overrides active for the current API user.
Retrieve enrollment termRetrieves detailed information for a specific enrollment term within a given root account in Canvas.
Retrieve Internal SettingTool to retrieve a single internal setting by ID or name from Canvas LMS using the GraphQL API.
Revert Group Page to RevisionTool to revert a Canvas group page to a prior revision.
Save enabled account calendarsTool to save user preferences for enabled account calendars and mark the feature as seen.
Set course nicknameTool to set a nickname for a specific Canvas course.
Set extensions for student quiz submissionsTool to set extensions for student quiz submissions in Canvas.
Set feature flag for courseTool to set a feature flag for a given Course.
Set feature flag for userTool to set a feature flag for a given User.
Set friendly descriptionTool to set a friendly description for a learning outcome in Canvas using GraphQL.
Set module item completionTool to mark a module item as complete or incomplete in Canvas using the REST API.
Set override statusTool to set an override status for a student's enrollment in Canvas.
Set usage rights for group filesSets copyright and license information for one or more files in a Canvas group.
Set usage rights for user filesTool to set copyright and license information for one or more files in a user's account.
Show an observeeTool to get information about an observed user.
Show a planner overrideRetrieve a specific planner override for the current user.
Show content exportRetrieves information about a specific content export job for a course.
Show ePub exportTool to retrieve information about a single ePub export for a course.
Show Front Page for GroupTool to retrieve the front page content for a specific Canvas group.
Show group content exportRetrieves information about a specific content export job for a group.
Show Group Page RevisionTool to retrieve the metadata and optionally content of the latest revision of a page in a Canvas group.
Show an outcomeRetrieves detailed information for a specific outcome in Canvas using its ID.
Show page for a groupRetrieves the content of a specific wiki page by its URL or numeric ID from a Canvas group.
Show a planner noteRetrieve a specific planner note for the current user.
Show revision for group pageTool to retrieve the metadata and optionally content of a specific revision of a group page.
Show Temporary Enrollment StatusTool to retrieve the temporary enrollment status for a Canvas user.
Show User DetailsTool to retrieve detailed information about a specific Canvas user by ID.
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 details.
Submit assignmentTool to make a submission for an assignment in Canvas.
Subscribe to discussion topicTool to subscribe or unsubscribe from a discussion topic to receive or stop receiving notifications.
Subscribe to a topicSubscribe to a discussion topic to receive notifications about new entries.
Subscribe to a topic in groupSubscribe to a group discussion topic to receive notifications about new entries.
Translate File ReferenceResolves a file's migration ID to its current representation within a specific Canvas course.
Unsubscribe from a topic in groupUnsubscribe from a group discussion topic to stop receiving notifications about new entries.
Update a content migration for userTool to update a content migration for a user in Canvas.
Update a membershipTool to accept a membership request or add/remove moderator rights for a group member.
Update an entryTool to update an existing discussion entry.
Update a planner overrideUpdate a planner override's visibility and completion status for the current user.
Update Appointment GroupUpdates an existing Canvas appointment group by its ID; only provided fields are modified, but `publish` defaults to `False` if omitted.
Update notification preferenceTool to update the notification preference for a single notification on a specific communication channel.
Update BookmarkUpdates an existing bookmark for the authenticated user.
Update Calendar EventTool to update an existing calendar event in Canvas.
Update comment bank itemTool to update an existing comment bank item in Canvas.
Update a content shareTool to mark a Canvas content share as read or unread.
Update conversation participantsTool to batch update conversation workflow states in Canvas.
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/Create Front Page for GroupsTool to update or create the front page of a Canvas group wiki.
Update Custom ColorTool to update the custom color for a user for a specific course or context in Canvas.
Update a custom gradebook columnUpdates an existing custom gradebook column in a course.
Bulk update custom gradebook column dataBulk updates custom gradebook column data for multiple students.
Update discussion entries read stateTool to update read state for discussion entries.
Update discussion entryTool to update an existing discussion entry in Canvas via GraphQL.
Update discussion entry participantTool to update a discussion entry participant's read state or rating.
Update discussion read stateTool to update the read state for a discussion topic in Canvas via GraphQL.
Update discussion thread read stateTool to update the read state of a discussion entry.
Update discussion topic (GraphQL)Tool to update an existing discussion topic using the Canvas GraphQL API.
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 FolderUpdates an existing folder's properties (name, position, lock state, visibility) specified by its unique ID.
Update a group content migrationTool to update a content migration in a Canvas group.
Update group discussion entryTool to update an existing discussion entry in a Canvas group.
Update multiple notification preferencesUpdate multiple notification preferences for a single communication channel at once.
Update multiple preferences by channel IDTool to change the preferences for multiple notifications for a single communication channel at once using the channel ID.
Update notification preferencesTool to update user notification preferences in Canvas using GraphQL.
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 a page for a groupUpdates the title or contents of an existing wiki page in a Canvas group.
Update a planner noteUpdate a planner note for the current user.
Update notification preference by type and addressTool to update the notification preference for a single notification on a communication channel identified by type and address.
Update preferences by categoryTool to change notification preferences for all notifications in a category for a single communication channel.
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.
Update rubric assessment read stateTool to update rubric assessment read state for submissions in Canvas via GraphQL.
Update Single PollTool to update an existing poll belonging to the current user.
Update a single poll choiceTool to update an existing poll choice for a poll in Canvas.
Update Single Poll SessionTool to update an existing poll session for a poll in Canvas.
Update SpeedGrader settingsTool to update SpeedGrader settings in Canvas via GraphQL.
Update split screen view deeply nested alertTool to update the split screen view deeply nested alert setting for a user.
Update submission student-entered scoreTool to update the student-entered score (what-if score) for a submission.
Update submission what-if scoreTool to enter a what-if score for a submission and receive calculated grades.
Update group discussion topicTool to update an existing discussion topic for a group.
Update user discussions splitscreen viewTool to update user discussions splitscreen view setting via Canvas GraphQL API.
Update User SettingsUpdates a Canvas user's preferences for various interface elements and content interaction behaviors.
Update user text editor preferenceTool to update a user's text editor preference.
Update User TokenTool to update an existing access token for a Canvas user.
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 filenames.
Upload a file to groupInitiates file upload to a Canvas group (Step 1 of 3-step workflow).
Upload submission fileUploads a file for an assignment submission in Canvas (step 1 of submitting); the returned file can later be included in an actual submission.
Upsert custom grade statusTool to create or update a custom grade status in Canvas.
Upsert standard grade statusTool to create or update a standard grade status in Canvas.
Validate quiz access codeValidates a quiz access code by checking if it matches the configured access code for the quiz.

How to build Canvas MCP Agent with another framework

FAQ

What are the differences in Tool Router MCP and Canvas MCP?

With a standalone Canvas MCP server, the agents and LLMs can only access a fixed set of Canvas tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Canvas and many other apps based on the task at hand, all through a single MCP endpoint.

Can I use Tool Router MCP with Claude Cowork?

Yes, you can. Claude Cowork fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Canvas tools.

Can I manage the permissions and scopes for Canvas while using Tool Router?

Yes, absolutely. You can configure which Canvas scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Canvas data and credentials are handled as safely as possible.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.

How to connect Canvas to Claude Cowork