Skip to main content

How Does OneRoster Data Sync?

Updated over 2 months ago

This guide covers how Classroom Manager processes OneRoster data syncs. OneRoster requires the following information from a customer: Token Url, Api Url, Client Id, and Client Secret. A sync can only occur after integration steps are completed with support.


ONEROSTER SYNC SCHEDULE

Sync processes run nightly at 8:00pm MT.


ONEROSTER SYNC BEHAVIOR

OneRoster syncing currently applies only to classrooms; accounts, organizational units, and groups are still pulled exclusively from Google.

OneRoster and Google are treated as the source of truth for their respective data, meaning data in our product will be removed if not found during the sync process, with the exception of user created classes.

The sync process is outlined below:

  • We start by pulling active classes from the /classes endpoint and checking whether they already exist in our database by searching on their sourcedId. If not, we create them. Then we remove any classes in our database that were not returned by the OneRoster endpoint.

  • For each class, we pull teachers and students.

    • Teachers are synced first from the /classes/{id}/teachers endpoint. We add each teacher as a Console User (CM_TEACHER role) if they don't already exist in the system.

    • Students are synced from the /classes/{id}/students endpoint. Students are matched to accounts pulled from Google (by email) so if a student is missing or inactive on Google, they will not be rostered.

    • Similar to classes, we remove teachers and students who were not returned by the OneRoster endpoint.

Did this answer your question?