Connect MusEdLab to your LMS
MusEdLab supports LTI 1.3, the standard used by Canvas, Schoology, Moodle, and most learning management systems. This page is for IT admins setting up the integration — if you're a teacher, feel free to forward this link to your district's IT department.
Quick setup (recommended): Dynamic Registration
MusEdLab supports LTI 1.3 Dynamic Registration, which means there's no manual copying of Issuer URLs, Client IDs, or signing keys. You paste one URL into your LMS's own admin console, and the registration happens automatically:
Registration URL:
https://musedlab.ai/lti/register
Paste this into your LMS's Dynamic Registration flow, and MusEdLab is registered in a few seconds — no keys, no IDs, no back-and-forth email.
Canvas
Schoology
Moodle
MusEdLab requests a "new window" launch for every activity automatically, and most platforms — including Canvas and Schoology — should honor this without any extra setup. If you're on one of those platforms and still notice MusEdLab loading inside an embedded frame (rather than its own window or tab), check your platform's tool settings for an equivalent "launch container" or "display type" option and set it to open in a new window, the same fix as the Moodle step above.
A heads-up about the first sign-in
The first time a teacher opens MusEdLab from inside your LMS, they'll be asked to sign in with Google. Because Google doesn't allow its sign-in screen to load inside another site's embedded frame (a security policy Google enforces, not something specific to MusEdLab or your LMS), that sign-in opens in the full browser window instead of inside the assignment.
What to tell teachers: sign in with Google when prompted, then go back to your course and open the MusEdLab activity one more time. After that first sign-in, it'll open normally without asking again in the same browser.
This only affects the one-time teacher sign-in used to set up and manage assignments. Students opening their own anonymous assignment links never need to sign in at all, so this doesn't come up for them.
About the Deployment ID
Some platforms — Canvas in particular — only generate a Deployment ID once the tool is actually activated inside a course, which happens after registration completes. If you don't see MusEdLab appear as available right away, activate it in one course first; the Deployment ID should follow. If you run into trouble, reach out at support@musedlab.ai with your Issuer URL and we can confirm everything landed correctly on our end.
What data is exchanged
MusEdLab's LTI integration is intentionally minimal. When a user launches MusEdLab from your LMS, we only request:
- The issuer (which LMS platform the launch came from)
- A pseudonymous subject identifier (a stable but anonymous ID for the launching user — not their name or email)
We do not request gradebook access, roster data, or any scopes beyond a basic resource-link launch. No student names, emails, or other identifying information are part of the LTI exchange, consistent with MusEdLab's FERPA-safe design everywhere else in the product. See Data Privacy for more on how MusEdLab handles data generally.
My LMS isn't listed, or Dynamic Registration isn't available
Not every LMS supports Dynamic Registration yet. If yours doesn't, MusEdLab can still be registered manually — just send us the following from your LMS's LTI configuration screen:
- Issuer (iss)
- Client ID
- Deployment ID(s)
- OIDC auth endpoint
- Token endpoint
- Platform JWKS URL
Email these to support@musedlab.ai and we'll complete the registration on our side within a couple of business days.
Google Classroom is not supported for LTI integration — Google Classroom doesn't support the LTI 1.3 standard at all. If your school uses Google Classroom, teachers can still use MusEdLab directly by signing in with the same Google account they already use.
Troubleshooting
"Registration didn't complete" error: This usually means your LMS's registration endpoint rejected the request, or there was a temporary network issue. Try again from your LMS admin console — if it keeps failing, email us the exact error text at support@musedlab.ai and we'll look into it.
"This URL must be opened by your LMS's Dynamic Registration flow" error: This means the registration URL was opened directly in a browser rather than pasted into your LMS's own registration flow. Make sure you're pasting it into the field your LMS provides for tool registration, not visiting it as a regular webpage.
A teacher gets a Google "403 — you do not have access to this page" error when signing in: This is expected on the very first sign-in — see A heads-up about the first sign-in above. Sign in with Google when it opens in the full browser window, then reopen the activity from your course once more.
Still stuck, or have a question not covered here? Email us — we respond personally to every LTI setup question.