What you can import
Volunteers
Name, group, max hours, email, and phone for each volunteer.
Shifts
Shift name, start time, end time, and group requirements.
CSV format for volunteers
The importer recognizes multiple header aliases for each field. Use any of the accepted column names below:| Field | Accepted column names |
|---|---|
| Name | Name, name, Volunteer, volunteer, Full Name, full name |
| Group | Group, group, Role, role |
| Max hours | Max Hours, max_hours, Hours, hours, Limit, limit |
| Phone | Phone, phone, Mobile, mobile, Tel, tel |
Email, email, Mail, mail |
sample_volunteers.csv):
CSV format for shifts
The shifts importer uses the following columns:| Column | Description |
|---|---|
Name | Human-readable shift label (e.g. Shift 1). |
Start | Start date and time in MM/DD/YYYY HH:MM AM/PM format. |
End | End date and time in the same format. |
Groups | Required group requirements as GroupName:count pairs, comma-separated (e.g. Delegates:2, Adults:2). |
sample_shifts.csv):
Wrap the
Groups value in double quotes when it contains commas, as shown above. Standard CSV quoting rules apply.How to import
Importing volunteers
Download the template (optional)
If you do not have a file ready, click Download CSV Template to get a pre-formatted Google Sheets template you can copy and fill in.
Select your file
Click Select File and choose your
.csv file. The importer parses the file client-side using PapaParse.Review the preview
A preview table shows the first 50 parsed rows with Name, Group, and Hours columns. If the data looks correct, proceed.
Importing shifts
Column auto-matching
The volunteer importer automatically detects which column maps to which field using the alias lists above. For example, a column namedRole is treated as the group field, and a column named Mobile is treated as the phone field.
You do not need to rename your columns as long as they match one of the accepted aliases. The matching is case-sensitive — Name is recognized but NAME is not.
Error handling
The importer validates the file before inserting any rows and will show an error if:Missing Name column
Missing Name column
The file does not contain a
Name, Volunteer, or Full Name column (or any recognized alias). No rows are imported. Add a name column and re-upload.Unrecognized column headers
Unrecognized column headers
One or more column headers are not in the recognized alias list. The error message lists every unrecognized column name. Either rename the columns or use the official CSV template.
Shift CSV uploaded to Volunteers
Shift CSV uploaded to Volunteers
If you upload a shifts file (which contains
Start, End, or similar headers) on the Volunteers page, the importer detects the mismatch and blocks the import:No valid rows found
No valid rows found
Every row either has an empty name or failed to parse. A warning is shown and nothing is inserted.
Parse error
Parse error
The file is malformed (e.g. invalid encoding or binary content). PapaParse returns an error message that is displayed directly.
Sample CSV templates
You can download ready-to-use templates to get the correct column format:- Volunteers template — Open in Google Sheets (creates a personal copy you can edit and export as CSV)
- Shifts template — use
sample_shifts.csvin the repository root as a reference
Volunteers
Manually add and edit volunteer records.
Shifts
Create and manage shifts for your event.