Integrating SchoolAI with Canvas creates a seamless data bridge between your curriculum and our AI. This connection allows SchoolAI to analyze course content to generate highly relevant chat experiences and enables teachers to launch and grade assignments directly within the Canvas interface.
Part 1: LTI Connection
Purpose: Establishing a secure handshake between your Canvas environment and SchoolAI.
To begin the integration, you must first create and configure an LTI Developer Key within your Canvas environment. This key acts as the unique identifier for the SchoolAI application.
1. Sign in to your Canvas Admin portal and click “Developer Keys” in the account navigation menu.
2. Click the + Developer Key button and select + LTI Key from the dropdown menu.
3. In Key Settings, enter the following:
Key Name: SchoolAI
Owner Email: [Your Admin Email Address]
Redirect URIs: https://schoolai.ltiaas.com/lti/launch
4. Under Configure, select “Enter URL” as the Method.
5. Enter the JSON URL: https://schoolai.ltiaas.com/register/canvas
6. Find the "SchoolAI" key you just created in your list and click the Pencil (edit) icon.
7. Find “Placements” at the bottom of the Key Settings window. To add Link Selection to your placements, click and choose “Link Selection” from the dropdown.
8. Once Link Selection is added, click the dropdown labeled “Link Selection” and change “Select Message Type” to “LtiDeepLinkingRequest”.
9. In the Developer Keys list, in the State column, activate your key by clicking the toggle to ON (it should turn green).
10. Copy the numerical Client ID located under the Details column. Send this ID to your Customer Success Manager at “[email protected]”.
Note: Our team will connect the registration on the SchoolAI side. Once confirmed, proceed to the next section.
Part 2: Adding the SchoolAI App to Canvas
Purpose: Finalizing the installation so the tool is accessible within your Canvas courses.
Once your Client ID has been processed by the SchoolAI team, you can add the application to your Canvas instance. This step officially "installs" the tool for your organization.
1. In Canvas, on the left-hand menu, select Admin. Then click Settings at the bottom of the Admin menu.
2. Click the Apps tab in the navigation menu at the top; then select the “View App Configurations” button.
3. Click the “+ App” button.
4. In the “Configuration Type” dropdown, select “By Client ID.”
5. In the Client ID field, paste the same Client ID you generated and sent to your SchoolAI Customer Success Manager in Part 1.
6. Click Submit, then click Install when prompted.
Your LTI Integration is now ready to test!
Part 3: Connect Canvas API
Purpose: Enabling deep data synchronization for personalized AI integration.
This final step adds an API configuration. While the LTI connection handles the "launch" of the app, the API connection allows SchoolAI to securely sync with specific course data, such as modules and assignments, to provide a more tailored experience for teachers.
1. In SchoolAI, select your name in the bottom-left corner and click “Integrations.”
2. Next to “Organization Integrations,” select “Add Integration.”
3. Choose Canvas.
4. In Canvas, go to Admin > Developer Keys.
5. Click the “+ Developer Key” button and select “API Key.”
6. In Key Settings, enter the following:
Key Name: SchoolAI
Owner Email: [Your Admin Email Address]
Redirect URI: https://app.schoolai.com/api/canvas-callback
Enforce Scopes: Leave this turned ON.
Selecting Scopes: Use the search bar to find and select the following scopes. Select “Read-only” and search for the two scopes in the bullets below. When you select the "Write" scopes below, the "Read-only" box may uncheck automatically; this is expected behavior.
Create Assignment: POST /api/v1/courses/:course_id/assignments (Used to create assignments in a Canvas course)
Create Module Item: POST /api/v1/courses/:course_id/modules/:module_id/items (Used to add assignments to a Canvas module)
7. Click Save.
8. In the Developer Keys list, in the State column, activate your key by clicking the toggle to ON (it should turn green).
9. You’ll need to copy two different number strings: the Client ID (indicated below) and the Client Key. Copy the Client ID, go to SchoolAI, and paste it into the corresponding Client ID field in the pop-up that appeared after selecting Canvas in Step 3.
10. Return to Canvas, click “Show Key” to reveal the Client Key. Copy the Client Key, go to SchoolAI, and paste it into the Client Key field.
11. Click the "Connect" button. This will open a new page.
12. Click "Authorize." Once that's done, you will be redirected back to SchoolAI and will be ready for the next step.
LTI Registration
Once your API key is set up successfully, you can set up the LTI connection by sharing your dynamic registration URL with Canvas:
1. In Canvas, return to Admin > Developer Keys.
2. Click "+ Developer Key" and select "LTI Registration" from the dropdown.
3. Return to SchoolAI and copy the Dynamic Registration URL.
4. Paste your dynamic registration URL into the Canvas window and then click "Continue."
5. You may need to wait a moment for the next page to load. Once it does, click "Enable & Close" in the bottom right corner.
Add an App Configuration
With your new LTI registration information, you'll add an external app configuration:
1. Copy the SchoolAI LTI Client ID from the details column of the newly created SchoolAI Developer Key. Note that you will have SchoolAI Client IDs for the original LTI key, the API key, and the LTI Registration — you need the LTI Registration Client ID for this step. The LTI row should include the SchoolAI logo.
2. Navigate to the Settings page within the Admin sub-menu in Canvas.
3. Open the Apps tab and click the "View App Configurations" button.
4. Click the "+ App" button in the top right corner.
5. Under the Configuration Type dropdown, select "By Client ID."
6. Paste the Client ID from step 1 and click "Submit."
7. On the Add App screen, click "Install" at the bottom of the window.
8. After selecting Install, the following window will appear. Choose "Yes, Install Tool."
9. Once completed, return to SchoolAI and click "Test Connection."
Note: It can take 5–20 seconds for the app to successfully register. If you click the button and get an error, click "Test Connection" again until the modal auto-closes.
Integration Complete
Your Canvas environment is now fully synced with SchoolAI. Teachers can now find SchoolAI within their course "Apps" or "External Tools" menus.
