CSV imports

Last updated 2026-06-08

View raw markdown

At a glance

  • Who uses it: Admins rostering staff and students.
  • When to use it: At year start, periodically for mid-year deltas, or any time you don't (yet) have an SIS / LMS integration.
  • Permissions required: Administrator.
  • Navigation path: Administration → Imports (with subpages for Teachers, Students, Student assignments, Staff).

Purpose

CSV import is the universal rostering path — it works regardless of which SIS or LMS you use, and it is the foundation underneath the supported integrations.

The four importers

ImporterRequired columnsPurpose
Teachersemail, full_nameCreate/update teacher directory and send portal invites
Studentsstudent_id, first_name, last_name, gradeCreate/update student records
Student assignmentsstudent_id, teacher_email and/or facilitator_emailAttach students to staff
Staffemail, first_name, last_name, roles (pipe-delimited)Create/update non-teacher staff with one or more roles

Detailed column lists live on each importer's own article:

How an import is processed

  1. Upload — you pick a file.
  2. Preview — the platform parses headers, validates rows, and shows counts (new / update / error) without writing anything.
  3. Seat-cap check — if the import would exceed your plan's seat or student cap, the import is blocked before writes happen.
  4. Confirm — you accept the preview. Writes happen in a single batch.
  5. History — a batch record is created. See Import history.

Encoding & formatting

  • UTF-8 strongly recommended — apostrophes and accented characters fail or render wrong in other encodings.
  • CSV with comma separator (no semicolons, no tabs).
  • First row is the header.
  • Quoted fields OK; quote any field that contains commas.
  • Empty cells are treated as "leave unchanged" on updates, not "set to null."

Idempotency

Re-importing the same CSV is safe. Matching rows update; new rows create. The platform deduplicates by email (for users / teachers) and student_id (for students).

Tips & best practices

  • Always do a small (5–10 row) test import first when working from a new source system.
  • Run Teachers before Student assignments — assignments fail when the referenced teacher emails don't exist yet.
  • Keep your source spreadsheet under version control (a Google Sheet with edit history works) so you can compare what you sent.

Common mistakes

  • Mixed encodings (a UTF-8 file saved as Windows-1252 from Excel) — open and resave in a UTF-8-aware editor.
  • Trying to set email to a different value on update — that breaks auth identity. Edit through the Users page instead.

Related articles

FAQ

Is there a row cap per import? There is no hard cap; large imports are processed asynchronously. Plan-tier seat caps still apply.

Will an import overwrite my data if I make a mistake? Empty cells don't overwrite existing values. Cells with content do update. Test with a small batch first if you're nervous.

Related