Skip to main content

Courses Integration: Canvas LMS

Michael Stephenson avatar
Written by Michael Stephenson
Updated over 2 weeks ago

Courses is available in Element Success. See our packages overview for details.


Overview

The Canvas LMS integration seamlessly syncs real-time academic and enrollment data from Canvas into Element451. This guide will walk you through the setup process, from configuring Canvas settings to completing the integration within Element451.

📌 Note: This is a one-way integration. Element451 reads data from Canvas but does not write back any data.

Overview of the Setup Process

To get started, you’ll work through the following four steps. We outline each in detail in the subsequent sections of this article.


Step 1: Create a Developer Key in Canvas

To allow secure communication between Canvas and Element451, you’ll first need to create a Developer Key in Canvas. This generates a Client ID and Client Secret you'll use later in the setup.

  1. Log in to your Canvas account as an Admin.

  2. Navigate to the Developer Keys section in your Canvas admin settings.

  3. Click + Developer Key and select API Key.

  4. Set the following Redirect URI:

    https://api.451.io/clients/integrations/canvas/oauth2

  5. Save and Enable the key.

  6. Copy the Client ID and Client Secret—you’ll need these in Step 3.

🔗 For more detailed instructions, see Canvas’s guide on creating developer keys.


Step 2: Enable Live Events in Canvas

Canvas Live Events allow Element451 to receive real-time updates on things like course activity, enrollments, and user changes.

Your Canvas instance must have Canvas Data Services installed to enable live events.

  1. Follow Canvas’s guide to install Data Services:

  2. Set up Live Event Streams using Amazon SQS.

    • Element451 uses the Amazon SQS Data Stream for optimal performance.

  3. Subscribe to the following Live Events:

Event Category

Events

Assignment

While assignment events are not required right now, we recommend enabling them to support future expansion.

Course

Created, Updated, Completed, Progress, Deleted

Course Section

Created, Updated, Deleted

User

Created, Updated, Deleted

Enrollment

Created, Updated, Deleted

Grade

Course Grade Change


Step 3: Authenticate the Integration in Element451

Once you have registered your application in Canvas, you'll need to authorize Element451 to access your Canvas data using OAuth.

🚨 Important: The user performing the authentication must be a Canvas Administrator and have read access to: Courses, Course Sections, Users, Enrolments, Assignments, and Grades (optional but recommended). You can read more about Canvas permissions here.

  1. Click on your avatar/profile picture in the top right corner of the orange navigation menu.

  2. Navigate to Settings > Integrations.

  3. From the left-hand menu, select Canvas LMS.

  4. Click the Authenticate button and follow the prompts.

You'll need your Client ID and Client Secret.


Step 4: Configure Preferences

Once you've authenticated your integration, you can access the LMS integration settings.

To review and adjust your preferences, click the pencil icon in the top right corner of your LMS integration card.

Data Sync Preferences

  • Courses¹: Import course information from Canvas, including course name, code, department, and other relevant details.

  • Sections¹: Import individual course section information from Canvas, including dates, instructor names, etc.

  • Enrollments: Import student enrollment records from Canvas, including student grades

    • Match Student Contacts²: Add enrollments for students already in the Element451 database

    • Insert Student Contacts: Create new contacts for students previously not found in Element451, and add their enrollments

    • Update Student Contacts: Overwrite existing contact data with data found in Canvas, such as name and email

¹Setting is required and cannot be disabled.

²Setting is required when Enrollments is enabled.

Settings

  • Target Semesters: Only data from courses with a section within the selected semesters will be imported.

  • Auto Import Semesters: When enabled, Element451 will automatically sync the selected resources (courses, sections, or enrollments) for new semesters that are added to the LMS.


Next Steps

Once authentication is complete, Element451 will begin syncing data from Canvas based on the configured Live Events. This data lives in Courses (Data + Automation > Courses), where you can view course records from your LMS.

Now that your course data is flowing into Element, you can begin using it to:

  • Build targeted segments

  • Trigger workflows + communications

  • Assign tasks or academic support resources

  • Personalize student experiences in StudentHub

To explore how to make the most of your LMS data, check out our Getting Started with Courses article.


Field Mapping

Once your LMS integration is active, Element451 automatically syncs data from your system into organized, consistent fields. This eliminates manual data entry while ensuring all information flows seamlessly between platforms.

Element451 automatically creates data sources for your course data directly from your LMS. No manual setup required—everything is generated automatically during the integration process.

The tables below show exactly which LMS fields map to which Element451 fields:

Course

Element451 Field

Canvas Object

Canvas Field

Institution ID

course

id

Name

course

name

Description

course

public_description

Code

course

course_code

Total Students

course

total_students

Departments¹
-Institution ID
-Name

course
course
course

Multiple values supported

-account->id

-account->name

Status¹

course

workflow_state

Type¹

course

course_format

Term²

course

term->sis_term_id

Timezone

course

time_zone

Subject

-

Not available

Number

-

Not available

Credits

-

Not available

Version

-

Not available

Grading

-

Not available

Section

Element451 Field

Canvas Object

Canvas Field

Institution ID

section

id

Code

course

course_code

Status¹

course

workflow_state

Instruction Mode¹

course

course_format

Term²

course

term->sis_term_id

School

course

account->name

Instructor¹

user

first_name + last_name

Instructor Email

user

email

Current Enrollments

course

total_students

Timezone

course

time_zone

Start Date

course

start_at

End Date

course

end_at

Section Type

-

Not available

Version

-

Not available

Campus

-

Not available

Total Meetings

-

Not available

Max Enrollment

-

Not available

Times

-

Not available

Enrollment

Element451 Field

Canvas Object

Canvas Field

Institution ID

enrollment

id

Enrollment Status¹

enrollment

enrollment_state

Current Grade (Text)

enrollment

grades->current_grade

Current Grade (Number)

enrollment

grades->current_score

Final Grade (Text)

enrollment

grades->final_grade

Final Grade (Number)

enrollment

grades->final_score

Last LMS Activity

enrollment

last_activity_at

Last Attended Date

enrollment

last_attended_at

Total Active Time

enrollment

total_activity_time

Total Absences

-

Not available

¹ Automatically creates a data source in Element451
² Matched against existing terms in Element451 using term code


Reviewing Imported Semesters

To review your imported semester data, navigate to Settings > Integrations and click on your LMS from the left-hand menu.

On the Imported Semesters card, you'll see:

  • Semester

  • Status

  • Added At

  • Started At

  • Last Sync Completed At

Did this answer your question?