If you already have students in your LMS or your CRM, you don’t need to
re-enroll them in Hawkings by hand. Pick the strategy that matches how
much sync you need.
Option A: One-time bulk import
For a single migration:
bulk is idempotent on (cohort_id, student_email) — re-running won’t
duplicate.
Option B: Daily reconcile
Run a cron job that pulls your LMS’ roster and applies a diff:
We recommend running this nightly. Reconciliation is cheap; the only
billable side effect is the AI generation kicked off when a brand-new
student joins.
Option C: Real-time webhooks (LMS → Hawkings)
If your LMS supports outbound webhooks, point them at your backend and
forward to Hawkings:
Option D: First-class Moodle bridge
If you’re on Moodle, install the Hawkings plugin. It handles enrollment,
grade-passback, and SCORM in one shot. See the Moodle integration guide.
Storing external IDs
Always pass external_id (or a metadata object) when creating users
or cohorts. It lets you:
Pitfalls
Email is not a good primary key. Students change emails. Always
also pass an external_id from your LMS — that’s what survives email
changes.
Don’t sync passwords. Hawkings doesn’t need them — students log in
through your token flow (Authentication),
not through Hawkings’ own login form.