Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.replay.sale/llms.txt

Use this file to discover all available pages before exploring further.

LTI (Learning Tools Interoperability) lets you connect Replay directly to your Learning Management System — Canvas, Moodle, Blackboard, Brightspace, or any LMS that supports LTI 1.3. Once connected, your students can launch Replay activities right from the LMS without creating separate accounts.
LTI is different from SCORM. With SCORM, you download a package and upload it to your LMS. With LTI, you set up a direct connection once, and everything stays in sync automatically — no packages to manage.

What You’ll Need

  • Admin access to both Replay and your LMS
  • About 10 minutes to complete setup on both sides
  • Your LMS must support LTI 1.3 (all modern LMS platforms do)

Step 1: Get Your Replay URLs

1

Open LTI Settings in Replay

Go to Company SettingsLTI. You’ll see three URLs at the top of the page:
  • OIDC Login URL — your LMS sends students here first
  • Launch / Redirect URL — where students land after authentication
  • JWKS URL — how your LMS verifies Replay’s identity
Copy these three URLs — you’ll paste them into your LMS in the next step.

Step 2: Register Replay in Your LMS

The exact steps depend on your LMS. Here are the most common ones:
Canvas lets you configure the Developer Key two ways: filling in fields manually, or pasting a JSON config. We recommend the JSON method — it’s faster and guarantees the placements are set up correctly so instructors can pick activities from the assignment editor.Option A: Paste JSON (recommended)
  1. In Canvas, go to AdminDeveloper Keys+ Developer KeyLTI Key
  2. Set Method to “Paste JSON” and paste the config below (replace <replay-domain> with your Replay domain, e.g. app.replay.sale):
{
  "title": "Replay",
  "description": "Practice sales conversations with AI roleplays",
  "oidc_initiation_url": "https://<replay-domain>/api/lti/login",
  "target_link_uri": "https://<replay-domain>/api/lti/launch",
  "public_jwk_url": "https://<replay-domain>/api/lti/jwks",
  "scopes": [
    "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem",
    "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly",
    "https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly",
    "https://purl.imsglobal.org/spec/lti-ags/scope/score",
    "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly"
  ],
  "extensions": [
    {
      "platform": "canvas.instructure.com",
      "privacy_level": "public",
      "settings": {
        "placements": [
          {
            "placement": "assignment_selection",
            "message_type": "LtiDeepLinkingRequest",
            "target_link_uri": "https://<replay-domain>/api/lti/launch",
            "selection_height": 800,
            "selection_width": 1000
          },
          {
            "placement": "link_selection",
            "message_type": "LtiDeepLinkingRequest",
            "target_link_uri": "https://<replay-domain>/api/lti/launch"
          }
        ]
      }
    }
  ]
}
  1. Save the Developer Key and toggle its state to ON (it’s off by default).
  2. Copy the Client ID Canvas generated — you’ll paste it into Replay in Step 3.
  3. Go to SettingsApps+ App → set Configuration Type to “By Client ID” and paste the Client ID.
Option B: Fill in fields manually
  1. In Canvas, go to AdminDeveloper Keys+ Developer KeyLTI Key
  2. Set the Redirect URIs to your Launch URL from Replay
  3. Set the OpenID Connect Initiation URL to your OIDC Login URL
  4. Set the JWK Method to “Public JWK URL” and paste your JWKS URL
  5. Under LTI Advantage Services, enable:
    • Can create and view assignment data in the gradebook
    • Can view assignment data in the gradebook
    • Can view submission data for the user
    • Can create and update submission results
  6. Under Additional SettingsPlacements, add both:
    • Assignment Selection — set Message Type to LtiDeepLinkingRequest and Target Link URI to your Launch URL. This is what makes Replay show up in the assignment editor.
    • Link Selection — same Message Type and Target Link URI. This lets instructors add Replay activities to course modules.
  7. Save the Developer Key, toggle its state to ON, and copy the Client ID Canvas generated.
  8. Go to SettingsApps+ App → set Configuration Type to “By Client ID” and paste the Client ID.
If you skip the Placements step, Replay will register successfully but won’t appear in the assignment editor — and any launches will fail with “Invalid Activity Link” because no activity was picked. The assignment_selection placement with LtiDeepLinkingRequest is what triggers Replay’s activity picker.

Step 3: Register Your LMS in Replay

After setting up Replay in your LMS, your LMS will provide several URLs and IDs. Come back to Replay to complete the connection.
1

Fill in the Add Platform form

On the LTI settings page in Replay, scroll down to Add Platform and enter:
  • Issuer URL — your LMS’s identity URL (e.g., https://canvas.instructure.com or your Moodle site URL)
  • Client ID — the ID your LMS generated when you registered Replay
  • Deployment ID — the deployment identifier from your LMS
  • OIDC Auth URL — your LMS’s authorization endpoint
  • JWKS URL — your LMS’s public key URL (for verifying its identity)
  • Token URL — your LMS’s token endpoint (for sending grades back)
2

Click Register Platform

Once you’ve filled in all fields, click Register Platform. The new connection will appear in the Registered Platforms list above.

Step 4: Test the Connection

  1. Go to your LMS and add a Replay activity to a course. In Canvas: Assignments+ Assignment → set Submission Type to “External Tool” → click Find → pick Replay. You should see Replay’s activity picker open in a new window — choose an activity and click Add to LMS.
  2. Click the activity link as a test student
  3. You should land on the Replay activity page, ready to practice
If Replay doesn’t show up in the External Tool picker, or the launch errors with “Invalid Activity Link”, the most likely cause is missing Placements in the Canvas Developer Key. See the Canvas tab in Step 2 — the assignment_selection placement is required.
If you see “Platform not registered” or “Authentication Failed”, double-check that the URLs match exactly between Replay and your LMS. Even a trailing slash can cause issues.

What Happens When Students Launch

When a student clicks a Replay activity in the LMS:
  1. The LMS securely authenticates them with Replay (no separate login needed)
  2. Replay creates an account for them automatically using their LMS identity
  3. They land directly on the assigned activity
  4. When they complete it, their score is sent back to the LMS gradebook
Students don’t need to know anything about LTI — it just works.