Sync school and roster data into Microsoft 365 for Education using School Data Sync (SDS) v2.1 CSV files

domain: education · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Prepare the SDS v2.1 CSV file set: orgs.csv, users.csv, and roles.csv are always required; add classes.csv and enrollments.csv only if you are also managing classes/enrollments.
  2. Include optional files only as needed: academicSessions.csv, courses.csv, demographics.csv, userFlags.csv, and relationships.csv (guardian/contact relationships).
  3. Populate required columns per file: orgs.csv needs sourcedId/name/type; users.csv needs sourcedId/username; roles.csv needs userSourcedId/orgSourcedId/role; classes.csv needs sourcedId/orgSourcedId/title; enrollments.csv needs classSourcedId/userSourcedId/role.
  4. In the SDS admin portal, create or edit a sync profile, set Source Format to CSV and Format Version to "SDS v2.1 CSV", then upload the file set through the manual upload flow (or automate periodic uploads with Power Automate).
  5. Let the sync profile provision and update Microsoft 365 groups, class teams, and user accounts from the ingested roster data on each successful sync.

Known gotchas

Related routes

Sync rosters via the Schoology API
schoology.com · 6 steps · unrated
Sync student rosters from a district SIS using OneRoster 1.1 REST API
imsglobal.org · 5 steps · unrated
Sync roster data from Schoology using the Schoology REST API with OAuth 1.0a two-legged authentication
developers.schoology.com · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans