Skip to main content

Canvas Data Integration

Canvas Certified Integration logo

Overview

The Course Evaluations & Surveys Data integration with Instructure’s Canvas LMS has several components which allow you to directly sync course, student, teaching assistant, and instructor information between the two systems for your Course Evaluations & Surveys projects.

The following article provides further details on the Data Integration functionality between Course Evaluations & Surveys and Canvas.

  1. Refresh Canvas Accounts, Courses, and Enrollments within Course Evaluations & Surveys

    1. Syncing your Canvas Accounts within Course Evaluations & Surveys.
    2. Syncing your course information, student enrollments, teaching assistant, and instructor enrollments between Canvas and Course Evaluations & Surveys.
    3. Searching and selecting Canvas courses and enrollments in your Course Evaluations & Surveys projects.
    4. Using the Student, Teaching Assistant, and/or Instructor Enrollment Refresh to manage enrollment adds/drops in Canvas courses after the initial course data import into your Course Evaluations & Surveys project.
  2. Send Messages to Canvas Inbox

    1. As an additional means of communication, you can message students in Canvas directly from Course Evaluations & Surveys.
  3. Add Points to Canvas Gradebook or Block Access to Grades

    1. At the Project-level, allow the CES Administrator or course Instructor to assign a specific number of points for completed surveys, and then automatically have a Gradebook item generated (column name is the Project name) along with the corresponding points added for each student who has completed a specified survey.

DATA INTEGRATION WITH CANVAS

The following provides further details on the Data Integration functionality between Course Evaluations & Surveys and Canvas:

  1. The Data Integration with Canvas allows the CES Administrator to search for and select desired Canvas courses to be included in Course Evaluations & Surveys Projects. You can then transfer the necessary course, student, teaching assistant, and instructor information for those courses. Once configured, you can use our Enrollment Refresh feature to automatically reach back out to Canvas and update any student, teaching assistant, or instructor enrollment changes (such as add/drops) from your initial course data import in your CES Project.
  2. The data integration is accomplished through setup of configuration settings in Course Evaluations & Surveys and a web service running in the background. These pieces allow you to connect via Canvas’s standard APIs with your instance of Canvas to import courses and manage enrollment changes.

Note: The developer key must be set up at Canvas root level. If you wish to integrate to a specific Canvas subaccount, you will be able to select which subaccount the account should use.

Configuring the Data Integration:

  1. Login to Canvas as Canvas administrator.
  2. Navigate to top level account

    The admin menu showing a list of account options with the top‑level account link highlighted and a note indicating it should match the organization's name.

  3. In the left navigation, click on “Developer Keys”

    The admin menu showing a list of configuration options with the 'Developer Keys' link highlighted.

  4. Click on “+ Developer Key” -> “+ API Key”
  5. Fill out the Key Name, Owner Email, and Redirect URIs.  - The Key Name field is freeform so you can name it whatever you wish.  We suggest giving it an intuitive name like CES Key or something similar.

    1. The Owner Email should be the email of the user creating the key.The Redirect URIs field should be configured using your CES URL in the the following formula: <customer CES domain>/Canvas/AuthenticateDataSettings (For example, if your CES URL was school.evaluationkit.com you would configure and paste: https://school.evaluationkit.com/Canvas/AuthenticateDataSettings)

    The Key Settings page showing an API configuration form with fields for key details and redirect URLs, along with the 'Enforce Scopes' option enabled and a list of selectable permissions.

    NOTE: For institutions that have multiple CES account (not common) you can add multiple URLs in the Redirect URIs field.  Each URL would be on a separate row:

    The Key Settings page showing an API configuration form with redirect URLs highlighted and the 'Enforce Scopes' option enabled above a list of selectable permissions.

  6. Enable the Enforce Scope slider.

    The Key Settings page showing an API configuration form with fields for key details and redirect URLs, along with the 'Enforce Scopes' option enabled and a list of selectable permissions.

  7. Enable all the needed endpoints shown below:

    Accounts :
    url:GET|/api/v1/accounts
    url:GET|/api/v1/manageable_accounts
    url:GET|/api/v1/accounts/:id
    url:GET|/api/v1/accounts/:account_id/courses
    url:GET|/api/v1/accounts/:account_id/sub_accounts

    Assignments :
    url:GET|/api/v1/courses/:course_id/assignments
    url:POST|/api/v1/courses/:course_id/assignments
    url:PUT|/api/v1/courses/:course_id/assignments/:id

    Calendar Events :
    url:GET|/api/v1/calendar_events
    url:POST|/api/v1/calendar_events
    url:DELETE|/api/v1/calendar_events/:id
    url:GET|/api/v1/courses/:course_id/calendar_events/timetable
    url:POST|/api/v1/courses/:course_id/calendar_events/timetable

    Conversations :
    url:GET|/api/v1/conversations
    url:POST|/api/v1/conversations

    Courses :
    url:GET|/api/v1/courses/:id

    Enrollment Terms :
    url:GET|/api/v1/accounts/:account_id/terms

    Enrollments :
    url:GET|/api/v1/courses/:course_id/enrollments
    url:GET|/api/v1/sections/:section_id/enrollments

    External Tools :
    url:GET|/api/v1/courses/:course_id/external_tools/:external_tool_id
    url:GET|/api/v1/courses/:course_id/external_tools
    url:POST|/api/v1/courses/:course_id/external_tools
    url:PUT|/api/v1/courses/:course_id/external_tools/:external_tool_id
    url:DELETE|/api/v1/courses/:course_id/external_tools/:external_tool_id

    Groups :
    url:GET|/api/v1/courses/:course_id/groups
    url:GET|/api/v1/groups/:group_id/memberships

    Roles :
    url:GET|/api/v1/accounts/:account_id/roles

    Sections :
    url:GET|/api/v1/courses/:course_id/sections

    Submissions :
    url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
    url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id

    Users :
    url:GET|/api/v1/accounts/:account_id/users
    url:GET|/api/v1/users/:id
    url:GET|/api/v1/users/:user_id/profile

  8. Click Save
  9. Copy “Client Id”. You will need to paste this in CES in a later step

    The API key listing showing a blurred key value circled alongside details such as access token count, creation time, and last used date.

  10. Click on “Show Key” and then copy the key. You will need to paste this in CES in a later step

    The API key details page showing the full key value expanded and highlighted above the key’s associated account information.

  11. Log in to CES as CES Admin
  12. Navigate to Account -> Integrations > Canvas
  13. If you have a previous setup of the Canvas data integration, you need to click on “Clear Settings” button before continuing.  New setups can ignore this step.
  14. This will have a new option to enter Key. Please see the screenshot below. Now enter Client ID and Key from steps 9 and 10. And “Save” the settings

    The Canvas Integration page showing site settings for connecting to a Canvas instance, including fields for the site name, site address, client ID, and key above save options.

  15. Once saved, a new section entitled API Access Token will appear.  In that section, click the “Create Access Token” button. This will redirect you to Canvas login page

    The API Access Token page showing a message explaining that the user must authenticate with the LMS before granting access, along with a button to create an access token.

  16. If the you receive an “invalid scope” error while saving the data settings it indicates that there are one or more endpoints not selected under step 7.  Please ensure to have each and every end point enabled and then give a try again. It should be fixed.

    The Canvas Integration page showing site settings and API access token options, with an 'invalid_scope' error message displayed at the bottom.

  17. Click on “Authorize” button

    The Canvas authorization popup showing an app access request for a development API key, with options to cancel or authorize the request.

  18. You are now ready to click Test Connection to test the data integration. You should receive a message at the bottom of the page indicating the connection Test Passed. If you receive a failed message, please review the previous steps and contact our Support Team by clicking Submit A Request for additional help, if necessary.
  19. Under the Canvas Main Account section, select which level of the Canvas structure you wish to be integrated with to this account.  For example, if you wish to include all courses at your institution (more common) then you would choose the root level.  If you only wish to include courses from a specific Canvas subaccount (less common) then you would select that level instead.

    The Canvas settings page showing the option to select a Canvas main account, with a popup window open displaying a list of available Canvas accounts to choose from.

  20. If your institution has multiple CES accounts integrated to Canvas subaccounts (not common), you would use the same “Client Id” and “Key” in the subaccount setup and then select the level that aligns to that specific CES account.

Canvas Course Roles

The Canvas Course Roles section showing options to use either standard Canvas course roles or both standard and custom roles for data import, along with a save button.

  1. The Canvas Course Roles feature allows you to choose whether to import course enrollments using only the standard Canvas course roles (Designer, Observer, Student, TA, and Teacher) or to also include custom roles created by your organization.

NOTE: Using the second option, Standard and Custom Canvas Course Roles requires the Manage Permissions permission in Canvas, assigned to the Canvas Admin account that generated the access token. See Required Permissions for Canvas Administrator Account to Generate Access Token section above.

Additionally, Custom Canvas Course Roles must be setup at the same Canvas sub-account as the integration if you wish to import users assigned a custom role.

Account Hierarchy Import

The Account Hierarchy Import section showing an option to import the Canvas account hierarchy using a single 'Import' button.

  1. The Account Hierarchy Import feature allows you to import your Canvas account structure as your Course Evaluations & Surveys account hierarchy. The Canvas account structure imported is restricted to the level where the access token is generated, including its sub-accounts. Once imported, manual changes can be performed, but it is not recommended as this can risk creating duplicate hierarchy levels, and in turn, present course misalignment to levels in your hierarchy.

NOTE: The Canvas Account Hierarchy Import feature is not enabled by default on Course Evaluations & Surveys Accounts. If you are in implementation, please work with your Implementation Team to have this enabled.  If you are not in Implementation, please contact our Support Team by clicking Submit A Request to determine if this feature is right for your institution. The Canvas Account Hierarchy Import functionality is intended for Canvas institutions just coming on board with Course Evaluations & Surveys, and should not be utilized if you already have a hierarchy in place in Course Evaluations & Surveys. Also, to note, when initially creating the hierarchy structure, it's best to choose one path or the other, meaning that if you don't necessarily want to mirror the structure that's in Canvas, then manually creating the hierarchy in Course Evaluations & Surveys from the ground up would be the cleanest approach.

Gradebook Settings

The Gradebook Settings section showing the allowed roles for updating the Canvas gradebook, with options selected for CES Administrator and Instructor above a save button.

  1. Gradebook Settings allows the CES Administrator to enable the Canvas Gradebook feature at the Project-level. At the Project-level, the Canvas Gradebook feature provides the ability for either the CES Administrator or course Instructor to assign a specific number of points for completed surveys, and then automatically have a Gradebook item generated (column name is the Project name) along with the corresponding points added for each student who has completed a specified survey.

FIELD ALIGNMENT

Below is a map of the fields in Canvas and how they align to the fields in CES:

The EvaluationKIT course listings and corresponding Canvas course details, with annotations and arrows indicating how course codes, titles, and section identifiers match across the two systems.

Was this article helpful?
8 out of 11 found this helpful

Articles in this section

See more
How to Contact Support
There are many ways to reach out! Click the icon above for our support options.
Watermark Academy
Click the icon above to access the Watermark Academy for consultation, training, and implementation companion courses.
Customer Community
Can’t find the answer? Ask fellow users how they’re making the most of Watermark in our Community!