Provision courses and rosters
Automate course creation and roster synchronization per customer.

Embed Instructure Canvas into your SaaS to sync courses, users, enrollments, assignments, submissions and announcements. Build workflows that provision courses, push assignments and retrieve grades so customers manage Canvas data without leaving your product.
Automate course creation and roster synchronization per customer.
Push assignments and fetch submissions or grades programmatically.
Reuse cycles with tenant-specific configuration and access controls.
Deliver customer-facing workflows natively inside your SaaS product.
CONNECTOR OVERVIEW
Teams can sync and automate Canvas courses, users, enrollments, assignments, submissions and announcements from inside their SaaS application. Use Cyclr to build reusable, multi-tenant cycles that run per-customer, publish integrations in an embedded marketplace, or expose governed MCP tools for controlled access. (canvas.instructure.com)
PRODUCT USE CASES
Quickly publish Canvas integrations into your in-app marketplace, automate provisioning and centralize deployment for many tenant accounts using Cyclr’s embedded delivery and governance features. (cyclr.com)
Create courses and enroll users from your product into a customer’s Canvas instance to automate onboarding. API resources: Courses, Enrollments. (canvas.instructure.com)
Publish assignments to Canvas and retrieve submissions or grades to sync into your app’s gradebook. API resources: Assignments, Submissions. (canvas.instructure.com)
Keep user accounts, roles and sections in sync across your system and Canvas using Users and Enrollments endpoints. (canvas.instructure.com)
ORCHESTRATION
Cyclr sits between your SaaS product and Instructure Canvas to handle authentication, govern access and orchestrate every API call per customer, at scale.
Your app requests an action for a specific customer.
Cyclr authenticates, applies policies and routes the request.
Instructure Canvas processes the request and returns a response to your app.
Customer-specific authentication · Governed data movement · Centralized visibility and audit
CONNECTOR COVERAGE
Explore Instructure Canvas methods you can orchestrate through Cyclr.
Delete a module.
Create a module.
List all new modules of a course.
Update a module.
Get a module.
List all modules of a course.
List all sub-accounts of a specified account.
List all accounts.
Create a sub-account.
Create a submission, specifying the section.
List all new submissions of a course.
Get a course submission.
A list of past-due assignments for which the student does not have a submission.
Get a user's submission, specifying the course.
List all submissions of a course.
Grade or comment on a submission, specifying the course.
Get a user's submission, specifying the section.
Create a submission, specifying the course.
Grade or comment on a submission, specifying the section.
List all new submissions of a section.
List all submissions of a section.
List all updated courses.
Create a course.
List all courses.
List all students in a course.
List all new courses in an account since the last run.
Update a course.
List all courses in an account.
Gets the settings of the specified course.
List all new users of a course.
Updates the settings of the specified course.
List all recently logged in students, ordered by how recently they logged in.
Get a course.
List all users of a course.
List all new courses.
Returns a summary of per-user access information for all students in the specified course.
Returns a list of assignments for the specified course.
Returns a list of assignments for a student in the specified course.
Returns messaging “hits” for a student of the course.
Returns page view hits and participation numbers grouped by day through the entire history of the specified course.
Returns a summary of user access information for a student in the specified course.
List all enrollments of a course.
List all updated enrollments of a course.
List all enrollments of a user.
Accept a course enrollment offer.
Conclude, delete, inactivate or deactivate a course enrollment.
Enroll a user on a course.
Activates an inactive enrollment.
Get an enrollment term.
Get an account enrollment by Enrollment ID.
List all new enrollments of a course.
Create an enrollment term.
List all enrollment terms.
Update an enrollment term.
Delete an enrollment term.
List all new enrollment terms since the last run.
List all logins for the specified user.
Update an existing login for a user in the given account.
List all logins for the specified account.
Create a course section.
List all course sections.
Move a section to another course.
Undo cross-listing of a Section, returning it to its original course.
Update an existing course section.
Get a course section.
Delete a course section.
List all enrollments of a section.
Enroll a user on a section.
Get a result.
List all results.
List all SIS imports for an account.
List all new SIS imports for an account.
Get the status of a SIS import.
Import SIS data into Canvas. Must be on a root account with SIS imports enabled.
Store custom user data. Add your own fields to the request to store the unique data.
Retrieve the specified number of page views for a user.
Get a specified user's details.
Create a user.
Get the page view details for the specified user.
Get custom data for a user. Add your own fields to the response to get the unique data.
List all users in an account.
Update a user.
List authentication events for a given user.
List all new users in an account.
List all courses for a user.
List all assignments of a course.
List all updated assignments of a course.
List all new assignments of a course.
List all submissions of an assignment.
List all assignments for the course sorted by due date.
Get a course assignment.
Update an assignment group.
Get an assignment group.
List all assignment groups.
Create an assignment group.
Delete an assignment group.
List all line items in a course.
Get a line item in a course.
List all quizzes of a course.
Update a course quiz.
List all questions for the specified quiz.
Get a course quiz.
Accepts an access code and returns a boolean indicating whether that access code is correct.
Gets details of the specified Quiz Question Group.
Delete a course quiz.
List all questions for the specified quiz.
Create a course quiz.
Change order of the quiz questions or groups within the quiz.
TECHNICAL DETAILS
Review the sourced authentication and API behaviour used when configuring customer-facing Instructure Canvas integrations in Cyclr.
Canvas instance base URL (https://.instructure.com)Client ID; Client secret; Access token; Base URL (Canvas instance domain)
Courses; Users; Enrollments; Assignments; Submissions; Files; Announcements; Conversations
Canvas uses Link-header pagination with per_page/page parameters; follow rel=”next” links in headers. (canvas.instructure.com)
Canvas documents throttling and recommends backing off on 429 responses; respect throttling headers. (canvas.instructure.com)
IMPLEMENTATION
Canvas supports OAuth 2.0 (Developer Key client ID/secret) and admin-created access tokens. Cyclr accepts client ID/secret or an access token; set Base URL to your Canvas domain. (community.cyclr.com)
Client ID; Client secret; Access token; Base URL (Canvas instance domain)
Canvas admin rights required to create Developer Key or access token; set tenant Base URL.
COMMON QUESTIONS
It can sync and manage Canvas Courses, Users, Enrollments, Assignments, Submissions, Files and Announcements so customers manage LMS data from your app. (canvas.instructure.com)
Use OAuth 2.0 via a Canvas Developer Key (client ID and secret) or an admin-generated access token; enter credentials and your Canvas Base URL in the connector. (community.cyclr.com)
Yes. Build tenant-aware cycles and publish them through Cyclr’s embedded marketplace or service-led deployment to support many customer accounts. (cyclr.com)
Yes. Cyclr lets you expose workflows and connectors as MCP servers or governed tools with centralized controls and tenancy separation. (cyclr.com)
KEEP EXPLORING
Related Collaboration connector for customer-facing integration workflows.
Related connectorRelated Collaboration connector for customer-facing integration workflows.
Related connectorRelated Collaboration connector for customer-facing integration workflows.