CSV imports
Last updated 2026-06-08
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
| Importer | Required columns | Purpose |
|---|---|---|
| Teachers | email, full_name | Create/update teacher directory and send portal invites |
| Students | student_id, first_name, last_name, grade | Create/update student records |
| Student assignments | student_id, teacher_email and/or facilitator_email | Attach students to staff |
| Staff | email, 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:
- Managing teachers — teacher CSV
- Importing students — student + assignment CSVs
How an import is processed
- Upload — you pick a file.
- Preview — the platform parses headers, validates rows, and shows counts (new / update / error) without writing anything.
- Seat-cap check — if the import would exceed your plan's seat or student cap, the import is blocked before writes happen.
- Confirm — you accept the preview. Writes happen in a single batch.
- 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
emailto 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
Managing teachers
Who uses it: School administrators. When to use it: When onboarding staff, at the start of each school year, and any time a teacher leaves or changes roles. Permissions required:…
Importing students
Who uses it: Admins rostering students at the start of each school year (or mid year for new arrivals). When to use it: Once at year start, plus periodic deltas — or skip if you…
Import history
Who uses it: Admins reviewing what CSV imports landed and when. When to use it: After an import to verify counts; during troubleshooting; for compliance evidence. Permissions…
SIS integrations
Who uses it: Districts that want AmplifyED rosters to come from their student information system. When to use it: When you are ready to retire CSV imports as the primary…
