Importing Jobs & Shifts from a CSV
If you're setting up a volunteer campaign with many jobs and shifts, entering them one by one can be tedious. The bulk import feature lets you upload a CSV file to create jobs and shifts all at once, with a validation preview so you can catch errors before anything is saved.
Preparing your CSV file
Your CSV file should include one row per job-shift combination. The required and optional columns are:
| Column | Required | Description |
|---|---|---|
| Job Name | Yes | The name of the volunteer role (e.g., "Greeter", "Setup Crew", "Registration Desk") |
| Shift Date | Yes | The date of the shift (e.g., "2026-03-14" or "Mar 14, 2026") |
| Start Time | Yes | When the shift begins (e.g., "9:00 AM" or "09:00") |
| End Time | Yes | When the shift ends (e.g., "12:00 PM" or "12:00") |
| Capacity | No | Maximum number of volunteers for this job on this shift. Leave blank for unlimited. |
| Shift Name | No | An optional label for the shift (e.g., "Morning Session", "Day 2 Afternoon"). If omitted, the shift is identified by its date and time. |
Example CSV
Job Name,Shift Date,Start Time,End Time,Capacity,Shift Name Greeter,2026-03-14,9:00 AM,12:00 PM,4,Morning Greeter,2026-03-14,12:00 PM,3:00 PM,4,Afternoon Setup Crew,2026-03-14,7:00 AM,9:00 AM,6,Morning Registration Desk,2026-03-14,8:30 AM,11:30 AM,2,Morning Registration Desk,2026-03-14,11:30 AM,2:30 PM,2,Afternoon
Tip: If the same job appears on multiple shifts, repeat the job name on each row. The system will create the job once and link it to each shift.
Uploading your file
- Open your volunteer campaign and go to the Jobs & Shifts tab.
- Click Import from CSV.
- Select your CSV file and click Upload.
Validation preview
Before anything is saved, the system parses your file and shows a validation preview. Each row is displayed with a status:
- Ready — The row is valid and will be imported.
- Error — Something is wrong with this row. The specific issue is highlighted (e.g., "Missing start time", "Invalid date format", "End time is before start time").
Rows with errors are skipped during import — valid rows are still imported. You can fix the errors in your CSV and re-upload to pick up the skipped rows.
Deduplication
The import checks for duplicates against your existing jobs and shifts:
- Jobs — If a job with the same name already exists on this campaign, the system reuses it instead of creating a duplicate. The existing job is linked to the new shifts from your CSV.
- Shifts — If a shift with the same date, start time, and end time already exists, the row is flagged in the preview so you can decide whether to proceed or remove it from your file.
After import
Once you confirm the import, the new jobs and shifts appear immediately on your Jobs & Shifts tab. You can edit any of them individually after import — the CSV is just a quick way to get everything created in bulk.