Skip to main content

Overview

This guide walks through connecting Moodle (4.x or later) to Veydra using LTI 1.3. By the end, students in your Moodle course will be able to click an activity link and land directly in a Veydra lab — no separate registration needed.
Time required: ~10 minutes
What you need: Moodle site admin access + a Veydra account with at least one lab

Part A: Configure Moodle

1

Open External Tool Management

In Moodle, go to Site administration → Plugins → Activity modules → External tool → Manage tools.You’ll see a list of any previously configured external tools.
2

Add Veydra as an External Tool

Click configure a tool manually (the link at the bottom of the page).Fill in the following fields using the values from your Veydra LTI Integrations page (app.veydra.io/account/lti):
Moodle FieldValue
Tool nameVeydra
Tool URLPaste the Tool URL / Launch URL from Veydra
LTI versionLTI 1.3
Public key typeKeyset URL
Public keysetPaste the Public Keyset URL (JWKS) from Veydra
Initiate login URLPaste the Login Initiation URL from Veydra
Redirection URI(s)Paste the Redirect URI(s) from Veydra
Default launch containerNew window (recommended) or Embed
Under Tool configuration usage, select:
Show as preconfigured tool when adding an external tool
Setting “Show as preconfigured tool” means instructors can add Veydra activities without needing to re-enter any URLs.
3

Save and Copy the Client ID

Click Save changes.Moodle redirects you back to the Manage tools page. Find Veydra in the list and click View configuration details (the ⓘ icon or the link text).Copy the Client ID — this is a string like a1b2C3d4E5f6g7. You’ll enter it in Veydra next.Also note the Platform ID (your Moodle URL, e.g. https://moodle-demo.veydra.io) and the Deployment ID shown on the details page.

Part B: Register Moodle in Veydra

1

Open LTI Integrations in Veydra

Sign in at app.veydra.io → go to Account → LTI Integrations in the left sidebar.
2

Click Register Platform

Click the Register Platform button in the top right of the Registered Platforms section.
3

Select Moodle Preset

In the modal that opens, set LMS Type to Moodle. This auto-fills the three endpoint URL paths.
4

Fill in Platform Details

FieldWhat to enter
Platform NameA friendly name, e.g. University Moodle
Issuer (Platform ID)Your Moodle URL, e.g. https://moodle-demo.veydra.io — the endpoint URLs auto-fill as you type
Client IDThe Client ID you copied from Moodle (Step A3)
Deployment IDThe Deployment ID from Moodle (optional, often 1)
Default LabSelect the lab students should land on
Default RoleUsually Student
The Authentication Login URL, Access Token URL, and Public Keyset URL are auto-filled by the Moodle preset:
  • https://your-moodle.edu/mod/lti/auth.php
  • https://your-moodle.edu/mod/lti/token.php
  • https://your-moodle.edu/mod/lti/certs.php
Verify these match your Moodle instance. Most standard Moodle installations use these paths.
5

Save the Registration

Click Register Platform. The new entry appears in the table. The integration is now live.

Part C: Add a Veydra Activity to a Course

1

Turn on Editing

In your Moodle course, click Turn editing on (or the pencil icon in Moodle 4.x).
2

Add an External Tool Activity

In the section where you want the activity, click Add an activity or resource → select External tool.
3

Configure the Activity

FieldValue
Activity namee.g. System Dynamics — Population Model
Preconfigured toolSelect Veydra from the dropdown
Launch containerNew window (recommended)

Targeting a Specific Lab (Optional)

If you want this activity to open a different lab than the default, expand Tool configuration and in the Custom parameters field add:
lab_slug=your-lab-slug
Replace your-lab-slug with the slug of the lab (visible in the URL when you visit the lab, e.g. population-dynamics).
This lets you create multiple Veydra activities in the same course, each pointing to a different lab.
4

Save and Test

Click Save and display. Moodle will perform the LTI launch and you should land inside the Veydra lab.Test as a student (use Moodle’s “Switch role to Student” feature or log in with a test student account) to verify the full flow.

Verifying the Integration

After completing the setup, verify these scenarios:
  1. Log in to Moodle as a student enrolled in the course
  2. Click the Veydra activity
  3. The student should be redirected to the Veydra lab
  4. In Veydra’s Account → Manage Labs → [Lab] → Users, the student should appear with the configured role
  1. The same student clicks the activity again
  2. They should be signed in instantly (no new account created)
  3. Their previous work in the lab is preserved
  1. Log in to Moodle as the course instructor
  2. Click the Veydra activity
  3. The instructor is provisioned with the role configured on the platform registration (change to “Instructor” for elevated access)

Troubleshooting

This usually means one of the URLs is wrong. Go back to Manage tools → Veydra → Settings and verify:
  • The Tool URL matches the Launch URL from Veydra
  • The Initiate login URL matches the Login Initiation URL
  • The Public keyset URL matches the JWKS URL
  • LTI version is set to LTI 1.3 (not 1.0/1.1)
Check that your Moodle site URL uses HTTPS and is accessible from the internet. Veydra’s backend needs to reach Moodle’s keyset URL (/mod/lti/certs.php) to verify signatures.
The Issuer field in the Veydra platform registration doesn’t match what Moodle sends. Verify:
  • No trailing slash (use https://moodle.example.com not https://moodle.example.com/)
  • The protocol matches (https:// vs http://)
  • The domain is exactly right (check for www. prefix differences)
Check these in order:
  1. Does the activity have a lab_slug custom parameter? That takes priority.
  2. If not, the Default Lab on the platform registration is used.
  3. If neither is set, students may see an error. Set a default lab on the platform registration.
Linking happens by email address. If the student’s Moodle email differs from their existing Veydra email, a new account is created. To merge accounts, contact support.

Moodle Version Notes

Moodle VersionLTI 1.3 SupportNotes
4.0+✅ FullRecommended. Full LTI Advantage support.
3.10–3.11✅ FullLTI 1.3 available but UI slightly different.
3.7–3.9⚠️ PartialLTI 1.3 added in 3.7 but keyset URL support improved in 3.10.
< 3.7❌ NoneOnly LTI 1.1 supported. Upgrade recommended.