CurricuLLM LogoCurricuLLM
SchoolsFeaturesPricingTraining HubDevelopersFAQ
15.4 SIS Integration (OneRoster)
Training Hub15. Integration15.4 SIS Integration (OneRoster)

15.4 SIS Integration (OneRoster)

How to connect your Student Information System to CurricuLLM using the OneRoster standard to automatically sync students, teachers, and classes.

CurricuLLM supports the IMS Global OneRoster standard (versions 1.1 and 1.2) for automatically importing and keeping up to date your school's users, classes, and enrolments from your existing Student Information System. OneRoster is widely supported by SIS vendors including TASS, Compass, Sentral, Synergetic, and many others.

Overview

OneRoster sits alongside LISS as one of two supported SIS providers. Only one can be active at a time — enabling OneRoster automatically disables LISS, and vice versa.

Once configured, CurricuLLM can automatically:

  • Create student accounts when new students appear in your SIS
  • Create teacher accounts when new staff are added
  • Create and link classes with their assigned teachers
  • Keep everything in sync on a schedule you choose

Users and classes managed through OneRoster are tagged with a OneRoster badge throughout the application, making it easy to distinguish SIS-managed records from manually created ones.

Prerequisites

Before you begin, ensure you have:

  • Organisation administrator access in CurricuLLM
  • Access to your SIS vendor's OneRoster API credentials or the ability to export OneRoster-format CSV files from your SIS
  • OneRoster version information (1.1 or 1.2) from your SIS vendor

Where to Find It

Navigate to Settings > Student Information System. The page has a left panel listing both providers (LISS and OneRoster), and a detail panel on the right showing the configuration for whichever provider is selected. Select OneRoster from the left panel.


Two Connection Methods

OneRoster offers two ways to get data into CurricuLLM:

Option 1: Live Connection (API Mode)

CurricuLLM connects directly to your school's OneRoster REST API using OAuth 2.0, pulls users, classes, and enrolments, and syncs them automatically.

To set up a live connection, enter:

  • System web address — The base URL of your OneRoster API (must be HTTPS)
  • Client ID — OAuth 2.0 client ID from your SIS vendor
  • Client Secret — OAuth 2.0 client secret from your SIS vendor. This is encrypted before storage and never shown again in the browser.
  • Sign-in endpoint (optional) — A custom OAuth token URL if your SIS does not use the standard path
  • School identifier (optional) — A sourcedId to scope the sync to a single school within a multi-school SIS
  • OneRoster version — Select 1.1 or 1.2 (this affects the API paths used)

After entering your credentials, click Test Connection. This will:

  • Request an OAuth access token using the Client Credentials grant
  • Call the /orgs endpoint to verify API access
  • Report how many organisations were found, confirming the connection works

Option 2: CSV File Upload

For schools whose SIS does not expose a OneRoster API but can export OneRoster-format CSV files:

  • Switch the connection method to CSV file upload
  • Select a .zip file exported from your SIS (containing users.csv, classes.csv, enrollments.csv, etc.)

The upload follows a two-step process:

  • Validate — The ZIP is parsed to check it contains valid OneRoster CSV files with the required columns, correct values, valid references between files, and proper data formats. This runs instantly without sending anything to the server.
  • Import — If validation passes, click Import to process the data. It goes through the same sync pipeline as a live API connection.

If validation fails, click Get Help with these errors to send the validation errors to an AI assistant for diagnosis. It will read the errors, file headers, and sample rows, then return plain-language explanations of what went wrong and how to fix it in the SIS export.

There is also a Download example CSV link that provides a correctly-formatted OneRoster ZIP for reference.


Sync Options

Once connected, configure what CurricuLLM should do with the data:

  • Create student accounts automatically — New students in the SIS feed get CurricuLLM accounts. You can optionally assign a default role for these students.
  • Create teacher accounts automatically — Same for teachers, with an optional default role.
  • Create classes automatically — Classes from the SIS are created in CurricuLLM and linked to their default teacher. This requires teacher provisioning to also be enabled.

At least one option must be selected. These settings save automatically when changed.


Sync Schedule

Choose how often CurricuLLM checks for updates:

  • Manual only — Sync only runs when you click "Sync Now"
  • Daily — Runs once a day at a time and timezone you choose
  • Weekly — Runs once a week on a day, time, and timezone you choose

The timezone options cover all Australian states.


What a Sync Does

When a sync runs — whether manual, scheduled, or CSV upload — CurricuLLM:

  • Fetches data from the OneRoster API (or parses the uploaded CSV)
  • Matches records to existing CurricuLLM users, classes, and enrolments
  • Creates new records for entities that do not exist yet (respecting your sync options)
  • Updates existing records when data has changed (e.g. a student's name or a class title)
  • Deactivates removed entities — if a user or class disappears from the SIS feed, it is marked as inactive (not deleted)
  • Checks licence pools — before provisioning a new user with a paid licence, it checks whether your school has available seats. If the pool is full, the user gets downgraded to a free tier.
  • Records sync history — every sync creates a record with status (Complete, Partial, Failed), trigger type (manual, scheduled, csv_upload), and a summary of what changed

Sync Status

The bottom of the settings page shows the Sync Status section with:

  • The last sync date, status badge (Complete / Partial / Failed / Running), and a count of new and updated records
  • A Sync History table showing the last 3 syncs with date, status, who triggered it, and a breakdown by entity type

Provider Switching

Only one SIS provider can be active at a time. The toggle switch at the top of the detail panel controls this. Enabling OneRoster automatically disables LISS, and the left panel shows which provider is currently marked "Active" with a badge.


Security

  • Client secrets are encrypted at rest and never returned to the browser — the UI just shows a "Set" badge
  • All configuration changes and syncs are logged as security audit events
  • SIS-managed users and classes are tracked so other parts of the app know which records are SIS-controlled (e.g. to prevent manual deletion of SIS-managed users)

Troubleshooting

  • Issue: Test Connection fails
    • Solution: Verify your system web address is correct and uses HTTPS. Check that your client ID, client secret, and OneRoster version are entered correctly. Contact your SIS vendor to confirm the OneRoster API is active.
  • Issue: CSV validation fails
    • Solution: Click "Get Help with these errors" for AI-assisted diagnosis. Common issues include incorrect column names, wrong enum values (e.g. "Teacher" instead of "teacher"), or missing references between files. You can also download the example CSV for reference.
  • Issue: Sync shows Partial status
    • Solution: Check the sync history summary for details. This may indicate that some records could not be processed — for example, a class referencing a teacher who was not provisioned.
  • Issue: Students or teachers are not being created
    • Solution: Ensure the relevant auto-provision options are enabled in Sync Options and that you have available licences.
  • Issue: Classes are not being created
    • Solution: Auto-create classes requires auto-provision teacher accounts to also be enabled, as classes need a teacher to be linked to.

Support

If you encounter any issues with OneRoster integration, contact our team at helpdesk@curricullm.com with "OneRoster Integration" in the subject line.

Previous
15.3 SIS Integration (LISS)
Next
15.5 Connected Services (MCP)
CurricuLLM Logo
CurricuLLM

AI for schools

Product

FeaturesPricingUse CasesSchoolsDevelopersFAQ

Resources

Training hubSupportBlogResearchEvidenceEventsPress

Company

About usTrust & SafetyPrivacy policyTerms of useStatusContact