Learnvelo

Learnvelo LTI 1.3 Setup Guide for Canvas

Connect Learnvelo to Canvas using LTI 1.3

This guide walks LMS administrators through connecting Learnvelo to Canvas using LTI 1.3. After completing these steps, instructors will be able to add Learnvelo content directly into their Canvas courses.

Prerequisites

  • Canvas administrator access (account-level, not just course-level)
  • A Learnvelo account with the LMS Admin role. If you don't have one, sign up at app.learnvelo.com/signup and select LMS Admin as your role during registration — no approval from Learnvelo is needed to create an account.
  • Access to Canvas Admin > Developer Keys

Overview

Setting up the integration requires configuring both Learnvelo and Canvas. You will switch between the two systems during this process:

  1. Register your institution in Learnvelo
  2. Create an LTI platform in Learnvelo and copy the tool configuration URLs
  3. Create a Developer Key in Canvas using those URLs
  4. Enter the Canvas-provided configuration values back in Learnvelo
  5. Add the Deployment ID
  6. Test the connection

Step 1: Register Your Institution in Learnvelo

If your institution is not yet registered in Learnvelo, you will need to register it first.

  1. Log in to Learnvelo at app.learnvelo.com
  2. Navigate to My Institutions from the dashboard menu
  3. Click Register Institution
  4. Fill in the required fields:
    • Institution Name — Your institution's official name
    • Website — Your institution's website URL (e.g., https://university.edu)
    • Primary Contact Name — The person managing the LTI integration
    • Contact Title — Their role (e.g., “Director of Educational Technology”)
    • Description — Optional brief description
  5. Click Submit Registration
Learnvelo institution registration form

Note: Your institution will be reviewed by the Learnvelo team. You can proceed with the LTI configuration while the review is in progress, but LTI launches will not work until approval is granted.


Step 2: Create an LTI Platform in Learnvelo

  1. From your institution's detail page, go to the Integrations tab
  2. Click Add Integration
  3. In the dialog, enter:
    • Platform Name — A descriptive name (e.g., “Canvas Production”)
    • LMS Type — Select Canvas
    • Environment — Select Production (or Staging/Development for testing)
  4. Click Create Integration
Learnvelo add integration dialog

You will be redirected to the platform detail page.


Step 3: Copy Tool Configuration URLs from Learnvelo

On the platform detail page, locate the Tool Configuration section. You will need these four URLs when configuring Canvas:

FieldURL
Login Initiation URLhttps://api.learnvelo.com/api/lti/login/
Launch / Redirect URLhttps://api.learnvelo.com/api/lti/launch/
Deep Linking URLhttps://api.learnvelo.com/api/lti/launch/
JWKS URLhttps://api.learnvelo.com/api/lti/jwks/{platform-id}/

Important: The JWKS URL is unique to your platform. Use the copy button next to each field to ensure accuracy.

Learnvelo tool configuration URLs

Keep this Learnvelo tab open — you will return to it after configuring Canvas.


Step 4: Create a Developer Key in Canvas

Now switch to your Canvas admin panel.

4a. Open Developer Keys

  1. In Canvas, navigate to Admin (account-level) > Developer Keys
  2. Click + Developer Key > LTI Key
Canvas Developer Keys page

4b. Enter Key Details and Redirect URIs

  1. Enter a Key Name (e.g., “Learnvelo”)
  2. In the Redirect URIs field, paste the Launch / Redirect URL from Learnvelo:
    https://api.learnvelo.com/api/lti/launch/
  3. Under Method, leave it as Manual Entry

4c. Enter Required Values

Fill in the following fields using the URLs from Learnvelo (Step 3):

Canvas FieldLearnvelo Value
TitleLearnvelo
DescriptionAI-powered interactive learning platform
Target Link URIPaste the Launch / Redirect URL
OpenID Connect Initiation UrlPaste the Login Initiation URL

For the JWK Method, select Public JWK URL and paste the JWKS URL from Learnvelo.

Canvas LTI Key - required values

4d. Configure LTI Advantage Services

Expand the LTI Advantage Services section and enable the following:

  • Can create and view assignment data in the gradebook associated with the tool — Required for grade passback
  • Can view assignment data in the gradebook associated with the tool — Required for grade passback
  • Can view submission data for assignments associated with the tool — Required for grade passback
  • Can create and update submission results for assignments associated with the tool — Required for grade passback
  • Can retrieve user data associated with the context the tool is installed in — Recommended for roster sync
Canvas LTI Advantage Services

4e. Configure Privacy and Additional Settings

Expand the Additional Settings section and set the Privacy Level to Public. This allows Canvas to share user name and email with Learnvelo, which is needed for account matching and displaying names.

Note: If your institution restricts sharing user data with external tools at the account level, you may need to coordinate with your Canvas administrator to allow this for the Learnvelo tool.

4f. Configure Placements for Deep Linking

The Placements section controls where Learnvelo appears in Canvas and how it launches. For instructors to use Learnvelo's content picker when adding content to their courses, the placements must be configured with the LtiDeepLinkingRequest message type.

  1. In the Placements dropdown, add the following two placements:
    • Link Selection — Allows instructors to add Learnvelo content to modules
    • Assignment Selection — Allows instructors to link Learnvelo content when creating assignments
  2. Remove any other default placements (such as Account Navigation) that are not needed
  3. For each placement, click to expand it and configure:
    • Message Type — Select LtiDeepLinkingRequest (this is critical — do not leave it as LtiResourceLinkRequest)
    • Target Link URI — Enter: https://api.learnvelo.com/api/lti/launch/

Important: If the message type is left as the default LtiResourceLinkRequest, instructors will not see Learnvelo's content picker when adding content. Instead, Canvas will insert a static link that does not support deep linking or grade passback.

Canvas placement configuration with LtiDeepLinkingRequest

4g. Save and Note the Client ID

  1. Click Save
  2. Canvas will display the new Developer Key with a numeric Client ID in the key list
  3. Copy this Client ID — you will need it in the next step
Canvas Developer Key with Client ID

4h. Enable the Key

The key is created in an OFF state by default. Toggle it to ON to enable it.


Step 5: Enter Canvas Configuration in Learnvelo

Switch back to your Learnvelo tab.

  1. On the platform detail page, locate the Platform Registration Details section
  2. Enter the following values:
    Learnvelo FieldValue
    Issuer URLhttps://canvas.instructure.com
    Client IDThe numeric Client ID from Canvas (Step 4g)
    OIDC Authorization Endpointhttps://{your-canvas-domain}/api/lti/authorize_redirect
    Your LMS JWKS URLhttps://{your-canvas-domain}/api/lti/security/jwks
    OAuth 2.0 Token Endpointhttps://{your-canvas-domain}/login/oauth2/token

Note for Canvas Cloud: If you use Canvas Cloud (hosted by Instructure), replace {your-canvas-domain} with your Canvas instance URL (e.g., myschool.instructure.com). The Issuer URL is always https://canvas.instructure.com for Canvas Cloud instances.

  1. Click Verify JWKS to test that Learnvelo can reach Canvas's public keys
  2. Click Save
Learnvelo registration details for Canvas

Step 6: Add the Deployment ID

6a. Install the Tool in Canvas

  1. In Canvas, navigate to the course or account where you want to install the tool
  2. Go to Settings > Apps > View App Configurations
  3. Click + App
  4. Under Configuration Type, select By Client ID
  5. Enter the Client ID from Step 4g
  6. Click Submit

6b. Copy the Deployment ID

After installation, Canvas displays a Deployment ID. Copy this value.

Canvas Deployment ID

6c. Enter the Deployment ID in Learnvelo

  1. Return to the Learnvelo platform detail page
  2. Scroll to the Deployment IDs section
  3. Enter the Deployment ID from Canvas
  4. Optionally add a label (e.g., “Main Campus” or “College of Engineering”)
  5. Click Add
Learnvelo Deployment IDs section

Step 7: Test the Connection

The Getting Started checklist on the platform detail page tracks your progress through each step. Once all four steps are complete, your integration is ready.

To verify the connection end-to-end:

  1. In Canvas, navigate to any course as an instructor
  2. Go to Modules or Assignments
  3. Click + Add > External Tool
  4. Select Learnvelo from the list
  5. The Learnvelo content picker should load, confirming the connection works

Troubleshooting

“JWKS verification failed”

  • Ensure the LMS JWKS URL field contains your Canvas JWKS URL, not Learnvelo's JWKS URL. These are different:
    • Canvas JWKS (what you enter in Learnvelo): https://{your-canvas-domain}/api/lti/security/jwks
    • Learnvelo JWKS (what you enter in Canvas): https://api.learnvelo.com/api/lti/jwks/{platform-id}/
  • If your Canvas instance is behind a firewall, ensure the JWKS endpoint is accessible from the public internet

“Integration Pending Approval”

Your institution must be approved by Learnvelo before LTI launches will work. Contact [email protected] if approval is taking longer than expected.

LTI launch shows a blank page or error

  • Verify the Issuer URL is correct (https://canvas.instructure.com for Canvas Cloud)
  • Verify the Client ID matches exactly (no extra spaces)
  • Check that the Developer Key is in the ON state
  • Ensure the Redirect URI in Canvas matches the Launch URL exactly

Content picker does not appear when adding Learnvelo to a module or assignment

  • This is almost always a placement configuration issue. Edit the Developer Key and expand each placement (Link Selection, Assignment Selection)
  • Verify that the Message Type is set to LtiDeepLinkingRequest, not LtiResourceLinkRequest
  • If the message type was LtiResourceLinkRequest, Canvas inserts a static link instead of launching the content picker
  • After correcting the placements, save the Developer Key. You may need to remove and re-add the tool in the course for the change to take effect

Grade passback is not working

  • Verify that Assignment and Grade Services (AGS) is enabled in the Canvas Developer Key settings
  • Ensure the content was linked using the Learnvelo deep linking tool (not a manual URL)
  • Check that grade passback was enabled during the deep linking content selection

Reference: Canvas-Specific URLs

PurposeURL Pattern
Issuer (Canvas Cloud)https://canvas.instructure.com
Issuer (Self-hosted)https://{your-canvas-domain}
OIDC Authorizationhttps://{your-canvas-domain}/api/lti/authorize_redirect
JWKShttps://{your-canvas-domain}/api/lti/security/jwks
OAuth 2.0 Tokenhttps://{your-canvas-domain}/login/oauth2/token

Trademark Notice

Canvas is a registered trademark of Instructure, Inc. Learnvelo is not affiliated with or endorsed by Instructure, Inc.