Canvas

Choose the right component

Use the flowchart below to assist in choosing the appropriate component for your use case:

Component decision tree

The Canvas LMS component provides actions that offer functionality for Canvas API’s calendar events, courses, assignments, files, users, enrollments, announcements, sections and discussion topics. Read the Canvas API documentation for more information.

Credentials

The following credentials are required to authenticate the Squiz Connect Canvas component with your Canvas instance.

Title

The title of your credential.

Client ID

The client ID obtained from creating a developer key in your Canvas admin portal.

Client secret

The secret key generated from creating a developer key in your Canvas admin portal.

Authorization endpoint

The URI used by Connect to authenticate with Canvas.

Formatted as: https://<your.canvas.instance>/login/oauth2/auth.

Token URI

The URI used by Connect to generate tokens for authentication with Canvas.

Formatted as: https://<your.canvas.instance>/login/oauth2/token.

Scopes

Enter any scopes to limit Connect’s access to the LMS. Usually, offline_access is sufficient for this field. Read the Canvas GET login/oauth2/auth endpoint documentation for more information.

Additional parameters

Enter any additional parameters for the Oauth2 client. Usually, access_type:offline is sufficient for this field.

Verify credentials

After signing in with valid Credentials, a user can verify those credentials using the Verify button. This verification will create a GET request which will, if successful, return a list of courses.

Pagination

The connector provides the 'Use pagination' option for all actions that may return more than one result.

Selecting this option tells the connector to retrieve the complete set of paginated results by making multiple requests to Canvas and emitting all of the results at once.

Due to platform limitations, the maximum paginated results that the connector can return is 1000. If your data set is larger than 1000, the connector provides the option to handle this within your flow.

If the Use pagination option is not selected, but the response is paginated, the connector emits a linkHeaders object along with the result of a single page. This object contains the details of the first, current, next, previous and last pages, which can be used in subsequent steps.

The connector also provides Page number and Per page fields for any action that can return paginated results. These fields should be used in conjunction with the linkHeaders data noted above to allow the flow to retrieve all necessary data.

The platform also provides a Max pagination values field. If using pagination, this is the maximum number of results the component attempts to process. If the result set exceeds this number, the connector throws an error. This field defaults to 1000 and has a maximum possible value of 5000.

Read the Canvas file.pagination documentation for more information on Canvas API pagination.

Split results

Some requests return a response with an array of objects as their top-level object. If the Split result if it’s an array checkbox is selected, the component emits one message for each array element. If it is not selected, the component emits the entire response as a single message.

Failed call errors

If the Don’t throw error on failed calls checkbox is selected, the component emits any error response from Canvas as a message and allows the flow to continue. If it is not selected, an error response from Canvas causes the component to throw an error, and the flow run fails.

For example, you may want a flow to continue even though the course data you requested from Canvas does not exist. Selecting this checkbox causes the component to emit a 404 response as a message so the flow can continue.

Actions

The actions available to the Canvas component are listed and described in Actions.

Test cases

A list of test cases is found in Test cases