How to Bulk Import Staff from CSV
Bulk Importing Staff
For initial go-live, or any large staff intake, use Bulk Import instead of adding staff one-by-one.
Where to find it
Sidebar → Clinician Staff → Bulk Import (top-right).
Prerequisites (do these first)
- Streams created (chapter 5 of Admin Setup Guide)
- Craft Groups created (chapter 6)
- Scope of Practice catalogue created (chapter 7)
Without these, the import has nothing to map your CSV columns to.
Step-by-step
- Open Bulk Import.
- Click Download Template — this gives you a CSV with the exact column headers the importer expects.
- Fill the template with your staff data:
- Required columns:
first_name,last_name,email,craft_group,employment_type,min_hours,max_hours - Optional columns:
scopes(comma-separated),streams(comma-separated),hire_date
- Required columns:
- Save as CSV (UTF-8 encoded).
- Back in the importer, click Choose File, pick your CSV, and click Validate.
- The validator runs and shows:
- Rows OK
- Rows with warnings (e.g. unrecognised scope — will skip the scope but import the staff)
- Rows with errors (will not import)
- Fix errors in your CSV, re-validate.
- When the report is clean, click Import.
- Welcome emails go out to every imported staff member with a 7-day link.
Common errors and fixes
| Error | Cause | Fix |
|---|---|---|
Unknown craft group "RN1" | Typo or not in your catalogue | Match exactly to a Craft Group name (case-sensitive) |
Unknown scope "Trauma1" | Same as above | Match exactly to a scope name |
Duplicate email | Email already exists in your org | Either remove from CSV or update the existing record |
No slots remaining | Subscription user-cap hit | Deactivate inactive accounts to free slots, or upgrade plan |
Invalid email format | Missing @ or domain | Fix the typo |
Tips & common mistakes
- Always validate first. The import is irreversible (you can deactivate, but not undo).
- Use lowercase emails — the import doesn't deduplicate case-insensitively.
Sarah@x.comandsarah@x.comare treated as different records. - Stage the import in batches for orgs > 200 staff — easier to spot problems.
- Don't include scope columns until your scope catalogue is complete — otherwise every row generates "unknown scope" warnings.