Create the LTI tool
In the LearnWorlds admin panel go to Settings → Integrations → LTI Tools and click Add LTI Tool.
Register RaeNotes as an LTI 1.3 tool in your LearnWorlds school, connect it to RaeNotes, add the activity to a course, and — for the self-assessment workflow — deliver the instructor's email through a LearnWorlds automation.
You need an administrator account in LearnWorlds and a RaeNotes team you administer. Keep the RaeNotes Integrations page open in a second tab. New to the integration? Start with LMS integration (LTI 1.3) — overview.
In the LearnWorlds admin panel go to Settings → Integrations → LTI Tools and click Add LTI Tool.
| LearnWorlds field | Value |
|---|---|
| Name | RaeNotes |
| Description | Optional. |
| Authorization (Login) URL | RaeNotes Login URL — https://app.raenotes.com/lti/login |
| Launch URL | RaeNotes Redirect URL — https://app.raenotes.com/lti/launch |
| JWKS (Keyset) URL | RaeNotes JWKS URL — https://app.raenotes.com/lti/jwks |
| Deep linking URL | Leave empty. RaeNotes exposes a single launch URL and has no content browser to pick from. |
Click Save.
Hover over the tool you just created and click Copy URLs. LearnWorlds gives you its client ID, deployment ID and platform URLs. They all live under your school's admin API root and look like this:
Issuer / Platform ID https://your-school.com/admin/api/lti/<school-id>
Authentication URL https://your-school.com/admin/api/lti/<school-id>/auth/<client-id>
Access token URL https://your-school.com/admin/api/lti/<school-id>/token
Key set URL https://your-school.com/admin/api/lti/<school-id>/.well-known/jwks.json
Go to Integrations → Add LTI Platform and paste the LearnWorlds values into Issuer, Client ID, Deployment ID, Authentication request URL, Access token URL and Key Set URL. Then choose the Team students will join — this cannot be changed later.
For Upload only you are done — click Add and skip to Part 3.
For Self-assessment with supervisor feedback, set Instructor email source to LearnWorlds webhook integration. LearnWorlds cannot put custom data into an LTI launch, so the instructor's email has to arrive separately. Click Add to save.
Click the pencil icon on the platform you just created. The Webhook URL is generated when the platform is saved, so it only appears in edit mode. It stays the same for the life of the platform — deleting the platform and registering it again produces a different URL, which you would then have to update in LearnWorlds.
https://app.raenotes.com/lti/webhook/<token>
Open the course, go to the Course Outline, click Add Activity
and choose Exams → Graded LTI. In the activity settings select the
RaeNotes LTI integration, enter the RaeNotes launch URL
(https://app.raenotes.com/lti/launch) as the content link, set a passing grade,
and save.
Important. Only activities created as Graded LTI under Exams receive grades. A standard LTI activity added under Multimedia works end to end — launch, upload, processing, review — but LearnWorlds never records a score for it, because only graded activities carry the gradebook information RaeNotes posts to.
LearnWorlds always embeds LTI tools in an iframe. RaeNotes detects this and shows a small page inside the frame with a button that reopens RaeNotes in a new browser tab, where the session works normally. This is expected behaviour, not an error — tell your students to click the button.
RaeNotes creates the review automatically and assigns the student's instructor as Supervisor — but it needs to be told who that instructor is. In LearnWorlds this is done with an automation whose Send a Webhook action posts to the platform's Webhook URL.
Note. This is an automation webhook (Users → Automations → Send a Webhook action), not a school event webhook. The two send different payloads, and only the automation webhook lets you include the instructor's email.
A common pattern is a custom form where the learner picks their coach; the answer updates the learner's tags, and the tag change is what triggers the automation. Any trigger works as long as it fires once the instructor for that learner is known.
Go to Users → Automations and create an automation. Use the event above as the trigger (for example, user tags updated) and add Send a Webhook as the action.
instructor_email).user object.
RaeNotes uses user.id — the same identifier LearnWorlds sends as the LTI
subject — to know which student the instructor belongs to, so you don't need to add
anything else.Copy your school's webhook signature token from Settings → Developers → Webhooks in LearnWorlds and paste it into LearnWorlds signature token in the RaeNotes platform dialog.
Every LearnWorlds delivery is signed with this token. Until RaeNotes has a matching value it rejects all deliveries, so the automation appears to run while nothing reaches RaeNotes.
The instructor mapping is stored per student, so the webhook can arrive at any point:
A later delivery for the same student replaces the earlier instructor.
Any questions? Contact us