LMS Integration (LTI)

Grade passback

Grade passback

When a student finishes a deck, Meletema can post the final score back to the LMS gradebook automatically.

How it works

The protocol depends on the LTI version:

  • LTI 1.3 uses AGS (Assignment and Grade Services). Modern, OAuth 2.0, JSON.
  • LTI 1.1 uses Basic Outcomes (POX). Older, XML over signed HTTP POST.

You don't have to think about which is which — Meletema picks the right one based on the section's platform.

The toggle

Grade passback is per section, controlled by the toggle in the deep-linking deck picker. The toggle is on by default.

Once a section is created, you can change the toggle later from Your org → Sections → (pick a section).

Heads up: Toggling passback OFF on an existing section will not delete grades the LMS already has. It just stops Meletema from sending new ones.

When grades sync

Scores sync whenever the section has grade_passback_enabled = true and the org's current plan includes the Grade passback feature. Meletema sends the running score after every checkpoint block during the session and a final score when the attempt ends — so the gradebook always shows the student's latest progress, and even an abandoned session keeps the credit it earned (idle sessions are finalized automatically after about 30 minutes).

Failures are retried up to 3 times with a 60s backoff. If the LMS is temporarily down, grades will get through once it's back.

Scoring modes

Which number gets sent is controlled by the deck's Scoring mode, set in the deck editor's Settings flyout. It's a per-deck choice, but most instructors pick one mode and use it consistently for every deck in a course:

  • Mastery (default for new decks) — percent of the deck's cards mastered this session. A card counts once its latest checkpoint answer is correct, so retries are free: a student who misses a card three times and then gets it earns the same credit as one who got it first try. The score reads naturally — 70% means 7 of 10 cards mastered.
  • Accuracy — percent of checkpoint answers correct. Every retry counts against the score, and any card the student never answered counts as one wrong answer, so an early exit can't inflate the grade.
  • Completion — opening the deck earns 100%. Use this when the deck is offered as pure practice and you only want the gradebook to show who engaged. The score is sent the moment the student starts, so nothing they do (or don't do) afterwards can cost them the credit.

The same session under each mode

A 10-card deck:

What the student did Accuracy Mastery Completion
All 10 right on the first try 100% 100% 100%
Missed 4 cards once each, then got them all 71% 100% 100%
Answered the first 4 perfectly, then stopped 40% 40% 100%

Partial credit for struggling students

Students who can't get through every card still get an honest score, not a blank gradebook cell:

  • The current score is re-sent to the LMS after every checkpoint block, so the gradebook always holds their latest progress.
  • A Finish for now button in the player lets a student end the session and keep what they've earned.
  • Sessions abandoned mid-way are automatically finalized with their partial score after about 30 minutes of inactivity.
  • The optional Max misses per card deck setting stops a hard card from looping forever: after that many misses it's set aside for a future session and the session can finish.

Heads up: Completion decks report 100% for every attempt, so they'll pull up "Avg attempt score" on dashboards and reports that mix them with graded decks. In practice this matters little if you use Completion consistently for practice decks — and the per-card difficulty table on the deck report still shows how students actually performed.

Plan gating

Grade passback is a feature flag on your plan. If your plan doesn't include it, the score still gets stored inside Meletema — you just won't see it in the LMS gradebook.

Org admins can check what's included at Your org → Billing.

Multiple attempts

Meletema sends each completed attempt's score. The LMS decides how to handle that — most LMSes overwrite with the latest, but some can be configured to take the highest. Check your LMS's grade-policy settings.