---
title: Canvas LMS integration
category: integrations
order: 2
lastUpdated: 2026-06-08
featureAvailability: GA
planRequirements: [Pro, District]
roles: [admin, district-admin]
navigationPath: Administration → Integrations → Canvas
relatedArticles: [integrations/google-classroom, integrations/sis, integrations/csv-imports]
---

## At a glance

- **Who uses it:** Administrators connecting AmplifyED to a Canvas instance.
- **When to use it:** Once during onboarding; revisit if Canvas credentials change or you switch developer keys.
- **Permissions required:** Administrator at the school or district level, plus Canvas admin access to create a developer key.
- **Navigation path:** Administration → Integrations → Canvas.

## Purpose

The Canvas integration syncs rosters and course data into AmplifyED so student profiles, teacher assignments, and class context appear automatically — no nightly CSV upload required.

## What syncs

- Students (with their Canvas user IDs).
- Teachers and their courses.
- Course enrollments (which students are in which class with which teacher).

## What does not sync

- Grades, assignments, or submissions.
- Canvas messages or announcements.
- Anything outside the rostering surface.

## Before you begin

- You will need to create a Canvas **developer key** for AmplifyED. Have your Canvas admin credentials ready.
- Confirm your Canvas instance URL (e.g. `district.instructure.com`).
- Decide on **Auto-create** mode: should new students in Canvas automatically appear in AmplifyED, or should an admin approve them first?

## Step-by-step

1. **Administration → Integrations → Canvas → Connect**.
2. Paste your Canvas instance URL.
3. Click **Authorize**. A Canvas OAuth window opens; sign in as an admin and approve the developer key scopes.
4. Pick which schools / sub-accounts to sync.
5. Choose **Auto-create students** on or off.
6. Click **Save**. The first sync runs immediately; subsequent syncs run on a schedule.

[SCREENSHOT: admin-canvas-connect-oauth]
_Administration → Integrations → Canvas connect screen with the OAuth Authorize button highlighted._

### Trigger a manual sync

Open **Administration → Integrations → Canvas → Sync now**. The current run progress is shown live; previous runs appear in the history list.

### Disconnect

Click **Disconnect**. The Canvas tokens are revoked on our side and previously synced records remain in AmplifyED for the record.

## Tips & best practices

- Run the first sync on a small sub-account before pointing at the whole district.
- Leave **Auto-create** off during the first week so you can see what would land before opting in.
- Pair Canvas sync with [SSO](/help/integrations/sso) so teacher accounts auto-provision in both systems.

## Common mistakes

- Using a personal Canvas token instead of a developer key — tokens tied to one person break when that person leaves.
- Enabling Auto-create alongside a CSV import — you end up with duplicates.

## Related articles

- [Google Classroom](/help/integrations/google-classroom)
- [SIS integrations](/help/integrations/sis)
- [CSV imports](/help/integrations/csv-imports)

## FAQ

**How often does Canvas sync?**
Hourly by default, with on-demand manual sync available.

**Is the Canvas access token encrypted?**
Yes — tokens are encrypted at rest using application-level encryption in addition to database-level encryption.
