Overview
Harmonize offers additional features to Canvas users via an API integration! These features go beyond Canvas's standard LTI offering, so they require an additional scoped Developer Key to be installed and specific permissions enabled. Currently, this integration grants access to the following Harmonize features:
- Group Syncing - Improves group discussions by selecting a specific group set from the course.
- Section Syncing - Allows instructors to filter their view of discussions by individual section.
- Harmonize Rubrics - Allows instructors to auto-generate rubrics based on their Harmonize discussion prompts.
- Assignment Dates - Allows instructors to set availability and due dates for assignments directly from Harmonize.
- Calendar Syncing - Allows Harmonize Milestone Due Dates to appear in the Canvas Course Calendar.
Please note that all of the following steps are required to fully configure this integration. If you are running into issues, please open a ticket with Harmonize Support.
Accessing Your Harmonize License Administration Page
Note: The steps below require a login with admin access to the root account in Canvas.
- Visit any course currently using Harmonize.
- Navigate to the Harmonize Communication Center or open an existing Harmonize resource within the course.
- Click the menu icon located in the top right of the Harmonize window and select License Administration from the drop down menu. This will open the License Administration page in a new browser tab.
- On the License Administration page, navigate to the Canvas API Administration section.
Creating a Harmonize Sync API Key in Canvas
- In a separate browser tab or window, navigate to Admin page of your Canvas root account.
- Click the Developer Keys link in the left side navigation menu.
- Click the + Developer Key button located on the top right of the page and select + API Key. This will open a new Key Settings page.
- You will see the Key Settings page:
- Fill in the following values:
- Key Name: Copy the Key Name value from your Harmonize License Administration page
- Redirect URIs: Copy the Redirect URI value from your Harmonize License Administration page
- Linked Partner App: Select the option labeled "Harmonize - Harmonize Discussion" from the drop down
- Icon URL: Copy the Icon URL value from your Harmonize License Administration page
Enforcing Scopes
Next, we need to select the correct scopes for the API key:
- Set the following values:
- Enforce Scopes: set the Enforce Scopes switch to the On position
- Method: select the Paste Scopes option from the dropdown
- Allow Include Parameters: check the checkbox
- In the Paste Scopes text area, copy this full set of scopes below and paste them into the text area:
url:GET|/api/v1/courses/:course_id/group_categories
url:GET|/api/v1/courses/:course_id/groups
url:GET|/api/v1/groups/:group_id/memberships
url:GET|/api/v1/courses/:course_id/sections
url:POST|/api/v1/courses/:course_id/rubrics
url:PUT|/api/v1/courses/:course_id/rubrics/:id
url:DELETE|/api/v1/courses/:course_id/rubrics/:id
url:GET|/api/v1/courses/:course_id/rubrics
url:GET|/api/v1/courses/:course_id/rubrics/:id
url:POST|/api/v1/courses/:course_id/rubric_associations
url:PUT|/api/v1/courses/:course_id/rubric_associations/:id
url:DELETE|/api/v1/courses/:course_id/rubric_associations/:id
url:GET|/api/v1/courses/:course_id/assignments
url:GET|/api/v1/courses/:course_id/assignments/:id
url:PUT|/api/v1/courses/:course_id/assignments/:id
url:GET|/api/v1/calendar_events
url:POST|/api/v1/calendar_events
url:PUT|/api/v1/calendar_events/:id
url:GET|/api/v1/calendar_events/:id
url:DELETE|/api/v1/calendar_events/:id
- Click the Save at the bottom of the screen. Canvas will save the new API Key and close the Key Settings window.
- On returning to the Developer Keys page, Canvas will display a modal window where you can copy the secret for the new API key. Be sure to copy this key before clicking Close:
- Note: if you forget to copy the secret value before closing the modal window or lose track of the value, you can simply click Regenerate Secret for the API key on the Developer Keys page:
- On the Developer Keys page, find the row for the newly created API Key and set the State switch to On:
- Keep this browser tab open! Information from this page is needed to complete the setup.
Adding Your Harmonize Sync API Key to Your Harmonize License Administration Page
- In the browser tab with your Harmonize License Administration page, navigate to the Canvas API Integration section located under Platform Specific Extensions.
-
Enter the following values:
- API Base URL: Enter the URL of your Canvas instance (ie. https://school.instructure.com. Canvas Vanity URLs will also work here.)
- Client ID: In the browser tab with your Canvas Developer Key page, copy the value in the Details column of the Harmonize Sync API Key you just created. Paste this value in the Client ID field.
- Client Secret: In the browser tab with your Canvas Developer Key page, click the Show Key button located below the Client ID in the Details column of the Harmonize Sync API Key. Copy this value and paste it into the Client Secret field.
- When you're done, click Add.
- You'll now see a new row on the License Administration page that looks like this:
Enabling Features
- On the Harmonize License Administration Page, scroll down to the Platform Specific Extensions section.
- In the Canvas API Integration section, click the Edit icon located in the Action column.
- Click Select Features.
- Note: To delete the Canvas API Integration, click Delete.
- From here you may select which Canvas-specific features you'd like enabled. Features include Group Details, Section Details, Rubric Details, Assignment Details, and Calendar Syncing. Toggle the feature on to enable, toggle the feature off to disable.
- When you are finished, click Update.
- You will then prompted to Enable Canvas Features. Enabling Canvas features as an admin will add an Admin Token to your Canvas API Integration which allow the selected features to run for any course using Harmonize, even if an instructor has yet to access the course. This will help reduce the amount of time before essential syncing occurs for things like assignment dates and course calendar entries.
- Click Enable Canvas Features.
- A new tab will open and Canvas will prompt you to authorize Harmonize. Click Authorize.
- NOTE: If you are presented with an Authorization Error during this step, it means a required scope was overlooked during the API key creation process. Revisit the Creating a Harmonize Sync API Key in Canvas and Enforcing Scopes sections of this help guide to ensure all listed scopes have been enforced. Once all of the proper scopes have been selected, return to the Enabling Features step and try again.
- If successful, the Canvas authorization window will close automatically and you will be returned to your Harmonize License Administration Page. Your Admin Token has been added to your Canvas API Integration and the features you selected are now available for instructors to utilize.
Adding Backup Tokens to Harmonize
Backup tokens allow Harmonize to run Canvas features for courses where an instructor is either not yet rostered or has not enabled Canvas features themselves. This is helpful in ensuring that courses are as up-to-date as possible for students, most critically ensuring that Milestone reminders have been added to course calendars.
When new features are configured and enabled in your Canvas API integration, you will be prompted to Enable Canvas Features. See the previous section, Enabling Features, for more details.
You may also want to add additional backup tokens to your API integration after features have been enabled. To do so:
- Navigate to the Canvas API Integration section of your Harmonize License Administration Page.
- The current number of Admin Tokens is listed in the Admin Tokens column.
- Click the Action menu and select Authorize as Admin from the drop down list.
- You will be prompted to Enable Canvas Features. Click the Enable Canvas Features button.
- A new tab will open and Canvas will prompt you to authorize Harmonize. Click Authorize.
- You have successfully added your Admin Token to Canvas API features integration.
- A green banner will appear at the top of the page confirming that you have successfully enabled the Canvas API features for this account.
- The number of Admin Tokens has increased by one.
- If you see a red banner stating "You have already enabled the Canvas API features for this account", it means that you have already authorized your Admin Token. No further action is required.
Frequently Asked Questions
Q. Why am I receiving an error when I click the "Enable Canvas Features" button?
- Receiving an error when attempting to Enable Canvas Features usually means a scope was missed during the setup process. Revisit the Enforcing Scopes section of this article. After confirming that all scopes are properly selected, please retry enabling Canvas features.
Q. How often will instructors need to Enable Canvas Features?
- Instructors will generally only ever have to enable Canvas features once. Once enabled, Harmonize is able to utilize their token across any other current or future courses where they are rostered as an instructor.