Integrating External Tools with Canvas

Introduction

When your college integrates Canvas with external tools (e.g., LTI tools, third-party applications, etc.), it’s crucial to ensure that the integration supports specific events and metadata configurations. Failure to comply with these requirements may lead to disruptions in data syncing, affecting course setup, student progress tracking, and overall system functionality. 

The following guidelines outline the requirements that must be met for a successful integration.

Event Support Requirements

Assignment Created (assignment_created)

Purpose: Track assignment creation. 

Canvas docs: Learn more about assignment_created event

The context_type in metadata must be equal to Course and context_id must match Canvas ID of an existing Canvas course.

assignment_id in body must match Canvas ID of an existing Canvas assignment. Assignment itself must be queryable via Canvas API. When queried, the description field should either include a complete description of the assignment, or a URL that leads to such description. If the URL is provided, Woolf must have read access to the given URL. 

Submission Created (submission_created)

Purpose: Track student submissions.

Canvas docs: Learn more about submission_created event

The body of the event must include either the body or url parameters. If a URL is provided without a body, Woolf must have read access to the given URL. The assignment_id must match the external ID of the assignment created on Woolf. The user_id must match the Canvas ID of the student who submitted the assignment.

Grade Change (grade_change)

Purpose: Track student submissions.

Canvas docs: Learn more about grade_change event

The body of the event must include both the score and points_possible parameters. The assignment_id must match the external ID of the assignment created on Woolf. The student_id must match the Canvas ID of the student who submitted the assignment. The grader_id can be omitted.