How it works
updated_at falls in the indexing window.
Announcements are included when their posted_at falls in the window. Pages without updated_at,
assignments without updated_at, and announcements without posted_at are skipped.
Before you begin
You need:- The HTTPS URL of your Canvas site, such as
https://school.instructure.com - A Canvas user who can open every course you want Onyx to index
- Permission in Canvas to create an API access token for that user
- An Onyx administrator account
Configure Canvas
Open Canvas account settings
/profile on your Canvas site.Create an access token
Onyx Connector. Optionally set an expiration date.
Leave the expiration empty only if your institution allows non-expiring tokens.Generate the token and copy it immediately. Canvas does not show the full token again.Configure Onyx
Open the Canvas connector
Enter the Canvas access token
Enter the Canvas base URL
https://school.instructure.com.Use https. Do not use http. You can omit a trailing slash and /api/v1;
Onyx normalizes those if they are included.Choose access type
- Public makes all indexed Canvas content visible to every Onyx user.
- Private limits the entire connector to selected Onyx users and groups.
- Auto Sync Permissions mirrors supported Canvas access controls and is available on Onyx Cloud and Enterprise Edition.
Connect and verify
Auto Sync Permissions
With Auto Sync Permissions, Onyx maps Canvas visibility to Onyx users by email. Canvas user emails must match the users’ email addresses in Onyx. Users Canvas returns without an email are not granted access. The token must be able to read course roster emails. When you save a permission-syncing Canvas connector, Onyx probes the first available course’s roster and rejects the connector if no emails are visible.Troubleshooting
The credentials are rejected or the token is expired
The credentials are rejected or the token is expired
Canvas API token is invalid or expired (HTTP 401) means the token is missing, revoked,
or past its expiration. Create a new access token in Canvas and update the Onyx credential.
Confirm Canvas Base URL is the HTTPS site URL for the same Canvas instance that issued the token.The token does not have sufficient permissions
The token does not have sufficient permissions
Canvas API token does not have sufficient permissions (HTTP 403) means the Canvas user cannot call the API being
used. Indexing needs access to the user’s available courses and to published pages, published assignments,
and active announcements in those courses.
Permission sync additionally needs roster email visibility on at least one available course.The Canvas base URL is rejected
The Canvas base URL is rejected
https. Enter the Canvas site,
for example https://school.instructure.com, not an http URL.A course, page, assignment, or announcement is missing
A course, page, assignment, or announcement is missing
available state,
only published pages, only published assignments, and only active announcements.
Pages and assignments without updated_at, and announcements without posted_at, are skipped on refresh.
A course that returns HTTP 404 is skipped for that indexing attempt.Permission sync fails at connector creation
Permission sync fails at connector creation
Users cannot see content they can open in Canvas
Users cannot see content they can open in Canvas
Public Canvas courses are limited to the course roster
Public Canvas courses are limited to the course roster