Configuring Your Canvas API Integration in Harmonize

  • Updated

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. 
Dropdown menu showing "Course" and "Account" sections with items: Manage Groups, Course Topic Activity, Profile, Notification Settings, Chat Settings, License Administration.

 

  • On the License Administration page, navigate to the Canvas API Administration section.
Form for adding a Canvas API integration titled "Platform Specific Extensions" showing fields for Key Name, Redirect URI, Icon URL, API Base URL, Client ID, Client Secret, and an "Add" button, with a table above stating "No Records Found."

 


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.
Dropdown menu labeled "Developer Key" expanded to show options: "API Key" (highlighted), "LTI Key", and "LTI Registration."

 

  • You will see the Key Settings page:
Screenshot of a "Key Settings" form for an application named "Harmonize Sync" showing fields for owner email, redirect URI, linked partner app, client credentials audience set to "Canvas", client type "Confidential", a toggled "Enforce Scopes" switch, and a scrollable list of read-only API scopes.

 

  • 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:

Key Settings form showing OAuth key "Harmonize Sync" with Enforce Scopes toggled on, redirect URI and icon URL fields, linked partner app "Harmonize - Harmonize Discussions," method "Paste Scopes" and a large list of API scope endpoints (courses, groups, rubrics, assignments, calendar_events).
  • 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:
Dialog box titled "Developer Key Created" with a warning to copy the secret now, and a partially obscured API Key secret displayed in a text field plus "Cancel" and "Close" buttons.
  • 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:
Table row showing token details: ID 90060000000000676, name wPvc2..., button "Regenerate Secret", stats listing "Lifetime token count: 7", Created: Jul 1 at 1:30pm, Last Used: 2026-08-13T11:26:02Z, active toggle and edit/delete icons.
  • On the Developer Keys page, find the row for the newly created API Key and set the State switch to On:
Table header labels "Type", "State", "Actions" with a green toggle switch showing a white checkmark and icons of a pencil (edit) and trash can (delete).

 

  • 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.
Form for adding a Canvas API integration titled "Platform Specific Extensions" showing fields for Key Name, Redirect URI, Icon URL, API Base URL, Client ID, Client Secret, and an "Add" button, with a table above stating "No Records Found."

 

  • 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:
Table showing Canvas API integration for Features list with red Xs for Section Details, Assignment Details, Rubric Syncing, Course Calendar Syncing, Group Details, and Admin Tokens value 0.

 


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.
Screenshot of a "Platform Specific Extensions" Canvas API Integration table showing a client row with red Xs for features (Section Details, Assignment Details, Rubric Syncing, Course Calendar Syncing, Group Details) and an overflow menu open with "Select Features" highlighted.

 

Settings page showing Canvas feature toggles (Section Details, Assignment Details, Rubric Syncing, Course Calendar Syncing, Group Details) all enabled with purple switches and an "Update" button highlighted.

 

  • 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.
Enable Canvas Features popup.

 

  • A new tab will open and Canvas will prompt you to authorize Harmonize. Click Authorize.
Harmonize sync popup with Authorize selected.

 

  • 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.
Harmonize License Administration page with action menu open and Authorize as Admin selected.

 

  • You will be prompted to Enable Canvas Features. Click the Enable Canvas Features button.
Enable Canvas Features popup.

 

  • A new tab will open and Canvas will prompt you to authorize Harmonize. Click Authorize.
Harmonize sync popup with authorize selected.

 

  • 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.

Was this article helpful?

0 out of 1 found this helpful

Have more questions? Submit a request