Moving from spreadsheets or another system? Import your contacts from a CSV file instead of adding them one at a time. The import can create families and assign roles and grade levels as it goes.
Import a CSV file
- Go to Enrollment → Families.
- Click Import contacts.
- Not sure how to format your file? Click Download example CSV file for a template with every supported column.
- Upload your CSV file.
- Under Columns, match each TeachHero field to the right column from your file. Your column headers are matched automatically where possible — First name and Last name must be mapped.
- Optionally check Update existing contacts — this matches rows to existing contacts by email and updates them. When it's off, rows whose email already exists are skipped.
- Click Import.
The import runs in the background. You'll get a notification when it starts and another when it finishes, showing how many rows were imported. If any rows failed, the notification includes a link to download a CSV of the failed rows with the reason for each — fix those rows and import just that file again.
What you can import
| Column | Notes |
|---|---|
| First name, Last name | Required. |
| Primary email | Used to detect existing contacts. |
| Secondary email, Mobile phone, Secondary phone | Optional contact details. |
| Gender, Birthday | Birthday format: 2010-05-15. |
| Address line one/two, City, State, Zip, Country | Country as a two-letter code, e.g. US. |
| Roles | One or more of Student, Parent/Guardian, Teacher, Admin, Emergency Contact, separated by commas. |
| Family | Family name, e.g. Doe Family — the family is created if it doesn't exist, so members with the same family name are grouped automatically. |
| Family role | The person's relationship to students, e.g. Mother. |
| Current grade | Must exactly match one of your school's grade level names. |
Note: Importing assigns roles but does not send invites or grant sign-in access. Invite your teachers and admins separately — see Teacher & Admin Access.
Tips for a clean import
- Import a small test file (2–3 rows) first and check the results before importing everything.
- Fill in Primary email wherever you can — it's how TeachHero recognizes a contact if you ever import again.
- Rows without an email are always created as new contacts, so importing the same file twice can create duplicates. If that happens, see Merging Duplicate Contacts.