How to set up a Canvas Integration

Academics

  1. 1. When a customer requests to integrate with Canvas, be sure to send them this guide and provide the 5 items that we need to set them up.

  2. 2. Click on Administration

    Click on Administration
  3. 3. Click on Mini CRM

    Click on Mini CRM
  4. 4. Click on Districts

    Click on Districts
  5. 5. Type in the state

    Type in the state
  6. 6. Type in the District Name

    Type in the District Name
  7. 7. Select Filter

    Select Filter
  8. 8. Select the pencil icon to the right of the corresponding district

    Notice there is no Canvas ID displayed for the district

    Select the pencil icon to the right of the corresponding district
  9. 9. Click on the Canvas Account Settings tab

    Click on the Canvas Account Settings tab
  10. 10. Enter the Client Id

    Enter the Client Id
  11. 11. Enter the Client Secret

    Enter the Client Secret
  12. 12. Enter the EndPoint URL in the format https://website.com

    Enter the EndPoint URL in the format https://website.com
  13. 13. Ensure that https:// is included

    This is important because some school systems will flag sites as insecure if the URL does not contain https. This causes confusion we want to avoid.

    Ensure that https:// is included
  14. 14. The Admin Account ID is typically 1, although it is sometimes a different number and can be several digits.

    The Admin Account ID is typically 1, although it is sometimes a different number and can be several digits.
  15. 15. Click Save

  16. 16. The final step is to test the integration and log in as a teacher in the district. If you select Connect to Canvas on their profile page and land on an error page, please follow the following steps. If you land on a Canvas page or Google page they're good to go.

  17. 17. If you land on an error page like this when testing the integration, follow these steps to resolve the issue...

    If you land on an error page like this when testing the integration, follow these steps to resolve the issue...
  18. 18. If you look at the URL, you will notice there are some invalid scopes. This means they didn't enable all of the scopes when setting up the developer key that we provided instructions for initially.

    https://app.progresslearning.com/externalcanvaslogin?error=invalid_scope&error_description=A+requested+scope+is+invalid%2C+unknown%2C+malformed%2C+or+exceeds+the+scope+granted+by+the+resource+owner.+The+following+scopes+were+requested%2C+but+not+granted%3A+url%3APOST%7C%2Fapi%2Fv1%2Fcourses%2F%3Acourse_id%2Fassignments+and+url%3APOST%7C%2Fapi%2Fv1%2Fcourses%2F%3Acourse_id%2Fassignments%2F%3Aassignment_id%2Foverrides

    The URL above is what the error message will look like.

    You can input the link HERE and select the decode option. This will make the link above look like this:

    https://app.progresslearning.com/externalcanvaslogin?error=invalid_scope&error_description=A requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner. The following scopes were requested, but not granted: url:POST|/api/v1/courses/:course_id/assignments and url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/overrides

    What this means you need to tell the customer is that the following scopes need to be added to their developer key in Canvas. Be sure to save your changes and let us know once it's been updated so we can test it again before notifying staff that the integration is available.

    url:POST|/api/v1/courses/:course_id/assignments

    url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/overrides