Skip to Content
ModulesVolunteersBulk-importing

Bulk-importing volunteers

Doing it

  1. Open Volunteers and click Bulk import from CSV.
  2. In the Bulk import volunteers window, click Download CSV template.
  3. Fill one row per volunteer. Headers must match the template exactly.
  4. Click Upload CSV… and pick your file.
  5. Check the preview, then click Import — the button counts the valid rows, so it reads Import 24 volunteers.
  6. Click Done.

The columns

Seven, and these are all of them:

ColumnRequiredNotes
full_nameyesMax 200 characters. One field — not first/last.
emailnoChecked for a plausible address.
phonenoA 10-digit US number, written any common way. Stored as (555) 555-0100.
statusnoactive, inactive or prospective. Defaults to active.
skillsnoSeparate several with semicolons: driving;first aid.
joined_atnoYYYY-MM-DD.
notesno

There is no first_name, last_name, family_name or consent_tier column. A file built around those headers will not import as you expect. Families are not set by the import at all — group people afterwards on the Families tab, or from each volunteer’s Family field.

Limits: 1000 rows per upload, and files over 2 MB are rejected.

The preview

Two categories only, green and red: valid rows, and Rows with errors (will not import). Fix the red ones in your file and upload again, or import the valid rows and handle the rest by hand.

Validation covers: full_name present and within length, email shaped like an address, status one of the three, joined_at parseable.

Phone numbers

A phone is stored as (555) 555-0100, the same shape as a number typed into the volunteer form, whichever way the spreadsheet wrote it: 555-555-0100, 5555550100 and +1 555 555 0100 all store as (555) 555-0100. A phone that is not a 10-digit US number (a 7-digit local number, say) is listed under Rows with errors in the preview, and the server refuses that row with phone must be a 10-digit US number, like (555) 555-0100. The other rows still import. Leave the cell empty for someone with no phone.

What it does not check

Duplicates are not detected. There is no matching against existing volunteers, by email or by anything else. Importing the same file twice creates every volunteer twice. If an import half-finished, do not simply re-run it — check what landed first.

Afterwards

  • Skills arrive as chips, exactly as spelled. There is no tag picker to tidy them with afterwards — a misspelled skill has to be fixed on each volunteer’s own form.
  • Consent is not part of this import and cannot be set here.
  • The import is recorded in the audit log as a single create against volunteers, not as one entry per row.

Last updated: 2026-09-15 · Applies to: CartonCrew v1.565+