Canvas logo

LMS Integration · LTI 1.3

Connect XYZ Homework to Canvas

Set XYZ Homework up once as your administrator, then add assignments as an instructor. Students launch from Canvas and their grades pass back automatically.

Canvas

Administrator: One-time setup

Fastest — Dynamic Registration (needs the LTI Registrations — Manage permission):

  1. From Canvas Click Admin → your account → Apps.
  2. From Canvas On the Manage tab, click Install a New App.
  3. From Canvas Set the LTI version to 1.3, set Install Method to Dynamic Registration, paste https://www.xyzhomework.com/imathas/lti/dynreg.php as the registration URL, and click Next.
  4. From Canvas Step through the permission, user-data, and placement screens — keep name and email sharing enabled and the assignment/link-selection placement on (needed for grade passback and deep linking) — then finish to install the app.

Manual alternative — Developer Key:

  1. From Canvas Click Admin → your account → Developer Keys → + Developer Key → + LTI Key.
  2. From Canvas Set Method to Enter URL, and in JSON URL paste https://www.xyzhomework.com/imathas/lti/canvasconfig.php, then Save. (Name/email sharing is preconfigured in the JSON.)
  3. From Canvas Switch the key’s State to ON, then copy its Client ID (the number in the Details column).
  4. From Canvas Go to Settings → Apps → + App. Choose By Client ID, paste the Client ID, and Install.

Manual path only: if the tool isn’t recognized on the first launch, email support@xyzhomework.com with the Client ID and we’ll finish registering the platform on the XYZ Homework side. (Dynamic Registration handles this automatically.)

Screenshot: Canvas → Apps → Manage → Install a New App → Dynamic Registration, with the registration URL filled in

Instructor: Add your course

The export cartridge brings your whole XYZ Homework course into Canvas at once — every assignment arrives as its own graded link. (Canvas’s Assignment picker selects one item at a time, so the cartridge is the all-at-once path.)

  1. From XYZ Homework In your course, go to Course Items → Export, select the items to include, choose Canvas as your LMS, and Download the cartridge (an .imscc file).
  2. From Canvas In your Canvas course, go to Settings → Import Course Content.
  3. From Canvas Set Content Type to Canvas Course Export Package, choose the cartridge file, select All Content, and click Import.
  4. From Canvas When the import finishes, open any imported XYZ Homework assignment in your course.
  5. First time only From XYZ Homework Sign in to your XYZ Homework instructor account and connect this Canvas course to your XYZ Homework course (use an existing course or create a copy). After that, every imported link works and grades sync back automatically.
Screenshot: Canvas → Settings → Import Course Content → Canvas Course Export Package

Adding a single assignment later? Create a Canvas Assignment, set Submission Type to External Tool, click Find, choose XYZ Homework, and pick the assignment — Canvas allows one per selection, so use Export/Import for bulk additions. Want assignments to open full-screen? Check Open in new tab on the Export screen before downloading.

LTI 1.3: with an LTI 1.3 connection you do not need any course-level key or secret — the imported links are ready to connect. The per-course Consumer Key / Shared Secret setup applies only to the older course-level LTI 1.1.

Send the LTI 1.3 setup to your administrator

Connecting XYZ Homework is a one-time job for your LMS administrator. Send them the details below, then follow up so the connection gets switched on.

Dynamic Registration URL (recommended)https://www.xyzhomework.com/imathas/lti/dynreg.php
Canvas configuration (JSON) URLhttps://www.xyzhomework.com/imathas/lti/canvasconfig.php
Target Link URI / Redirect URIhttps://www.xyzhomework.com/imathas/lti/launch.php
OpenID Connect Initiation URLhttps://www.xyzhomework.com/imathas/lti/login.php
Public JWK URLhttps://www.xyzhomework.com/imathas/lti/jwks.php
No Client ID to exchange: with Dynamic Registration your administrator pastes the Dynamic Registration URL above into Canvas and approves XYZ Homework — it registers automatically. Manual setup uses the other URLs and needs us to register your platform on the XYZ side — email support@xyzhomework.com and we’ll handle that part.

Troubleshooting

Most launch problems are the browser or a missing setup step. Try these first, then the Canvas-specific fixes below.

Seeing an actual error message on screen? Look it up in the error-message index — it lists the exact wording, what causes it, and who can fix it.

Try these first (any LMS)

The assignment won’t load, is blank, or spins

Hard-refresh the page: Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac).

Open it in a new tab. Many browsers block logins inside an embedded frame. Use your LMS’s “open in new tab/window” option for the link.

Disable any pop-up blocker for xyzhomework.com. When the embedded frame is blocked, XYZ Homework tries to open your assignment in a new window — a pop-up blocker stops that, and you may see Popup blocked, click to open in a new window. Click it.

Why “allow cookies” is not the fix. Browsers now block the sign-in cookie inside an embedded frame by design, and Safari has no per-site setting to allow it — so that advice cannot work there. Opening in a new tab is the dependable fix, and your LMS has a setting for it — see the Canvas section below, or the full error-message index. Check how far that setting reaches: on Canvas it is set per assignment and on Brightspace per link, so items created before you changed it keep the old behaviour and need fixing individually. On Moodle and Blackboard it can be set once for the whole tool.

I’m asked to sign in every time, or it won’t connect

Always launch from inside your Canvas course — not a saved bookmark of the XYZ page.

The very first launch asks the instructor to sign in once to link the courses. If it keeps asking, open it in a new tab — embedded frames are where browsers block the sign-in cookie, and being asked repeatedly is the classic symptom.

Grades aren’t showing up in Canvas

Grades can take a few minutes to appear in Canvas after a student finishes. If a grade or grade column still doesn’t show, the connection may need a re-check — email support@xyzhomework.com and we’ll verify it and re-send the grades.

Students don’t see a “Redeem LatePass” button

LatePasses work inside Canvas: the Redeem LatePass button appears on the assignment’s opening page under the due date (and in the assignment’s More menu) whenever a pass can be used. It is hidden when the student has 0 LatePasses.

Why a new student (or Canvas’s test student) has 0: students join the XYZ roster the first time they launch from Canvas, and receive the number in Course Settings → Additional Options → Auto-assign LatePasses on course enroll (default 0). Set that before the term starts; use Roster → Manage LatePasses for anyone who already launched.

Also check: the assessment allows LatePasses and has a due date before the course end date; the student hasn’t opened it in Practice mode (which blocks LatePass use); and Canvas has no “available until” lock date earlier than the LatePass extension. A LatePass changes the due date in XYZ Homework only — any Canvas late-submission policy still applies.

Canvas-specific

I can’t find XYZ Homework when adding an External Tool

The app install isn’t finished. If your admin used Dynamic Registration, have them confirm under Admin → Apps → Manage that XYZ Homework is enabled with a placement. If they used the Developer Key path, they add it under Settings → Apps → + App → By Client ID. Until that’s done, instructors won’t see XYZ Homework in the tool list.

The tool opens then goes blank or loops back to a login

In the assignment, turn on Load This Tool In A New Tab, then Save & Publish. Canvas embeds tools in a frame by default, which can block the sign-in.

If it still fails, open the tool in a new tab — browsers increasingly block the sign-in cookie inside an embedded frame, and a new tab is the dependable fix.

Grades still aren’t passing back to the Canvas gradebook

Confirm the Developer Key State is ON (Admin → Developer Keys). A key left in the OFF state stops grade passback.

Make sure each XYZ assignment was added as its own External Tool link with points set, not pasted as a plain URL.

If a column never appears, the Client ID may not be registered with us yet — have your admin send it to support@xyzhomework.com so we can add it on our end.

I want Canvas due dates to apply in XYZ Homework

By default XYZ Homework enforces the due dates set in XYZ. There is a course setting that lets Canvas push its due dates into XYZ instead — enable it in the XYZ course settings if you’d prefer to manage dates from Canvas.

A student redeemed a LatePass, but Canvas still locks the assignment or marks it late

A LatePass extends the due date inside XYZ Homework only. Two Canvas assignment settings still apply:

Available until: if the Canvas assignment has an “Available until” date, Canvas locks the launch at that time regardless of the LatePass. Leave it blank, or set it later than the longest LatePass extension.

Late policies: Canvas records the work as submitted after its own due date, so an automatic late-deduction policy is applied on top of the LatePass. The policy is course-wide and cannot exclude individual assignments: turn it off, clear the late status on the affected submission in the Canvas gradebook, or move the Canvas due date to match the extension.

If students don’t see a LatePass button at all, see “Students don’t see a Redeem LatePass button” in the “any LMS” section above.

I imported the cartridge but the links don’t work yet

Open any one imported link once and complete the one-time instructor sign-in — that associates the Canvas course with your XYZ course and activates every imported link at once.

Added new XYZ assessments after importing? They don’t sync automatically — repeat the Export → Import step to bring the new links over.

Good to know

  • Adding each assignment as its own link is the most reliable way to get grades back.
  • Grades sync automatically — the LMS may delay displaying them.
  • Due dates set in XYZ Homework are enforced by XYZ Homework. (Canvas can optionally push its due dates into XYZ.)
  • Change a question or setting in XYZ Homework and it updates everywhere that assignment is launched.
  • New assignments added later don’t appear in Canvas automatically — add their links the same way.