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.
-
Refresh Canvas Accounts, Courses, and Enrollments within Course Evaluations & Surveys
- Syncing your Canvas Accounts within Course Evaluations & Surveys.
- Syncing your course information, student enrollments, teaching assistant, and instructor enrollments between Canvas and Course Evaluations & Surveys.
- Searching and selecting Canvas courses and enrollments in your Course Evaluations & Surveys projects.
- 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.
-
Send Messages to Canvas Inbox
- As an additional means of communication, you can message students in Canvas directly from Course Evaluations & Surveys.
-
Add Points to Canvas Gradebook or Block Access to Grades
- 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
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:
- Login to Canvas as Canvas administrator.
-
Navigate to top level account
-
In the left navigation, click on “Developer Keys”
- Click on “+ Developer Key” -> “+ API Key”
-
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.
- 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)
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:
-
Enable the Enforce Scope slider.
-
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_accountsAssignments :
url:GET|/api/v1/courses/:course_id/assignments
url:POST|/api/v1/courses/:course_id/assignments
url:PUT|/api/v1/courses/:course_id/assignments/:idCalendar 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/timetableConversations :
url:GET|/api/v1/conversations
url:POST|/api/v1/conversationsCourses :
url:GET|/api/v1/courses/:idEnrollment Terms :
url:GET|/api/v1/accounts/:account_id/termsEnrollments :
url:GET|/api/v1/courses/:course_id/enrollments
url:GET|/api/v1/sections/:section_id/enrollmentsExternal 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_idGroups :
url:GET|/api/v1/courses/:course_id/groups
url:GET|/api/v1/groups/:group_id/membershipsRoles :
url:GET|/api/v1/accounts/:account_id/rolesSections :
url:GET|/api/v1/courses/:course_id/sectionsSubmissions :
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_idUsers :
url:GET|/api/v1/accounts/:account_id/users
url:GET|/api/v1/users/:id
url:GET|/api/v1/users/:user_id/profile - Click Save
-
Copy “Client Id”. You will need to paste this in CES in a later step
-
Click on “Show Key” and then copy the key. You will need to paste this in CES in a later step
- Log in to CES as CES Admin
- Navigate to Account -> Integrations > Canvas
- 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.
-
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
-
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
-
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.
-
Click on “Authorize” button
- 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.
-
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.
- 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
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
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.