Shift fields
| Field | Type | Description |
|---|---|---|
name | string | A human-readable label such as Gate A – Morning or Medical Standby. |
start_time | timestamp | Start of the shift window (stored as UTC, displayed in the event timezone). |
end_time | timestamp | End of the shift window. |
required_groups | JSON object | Maps group names to required headcount. See example below. |
allowed_groups | string array | If set, only volunteers in these groups may be assigned. |
excluded_groups | string array | Volunteers in these groups cannot be assigned to this shift. |
required_groups format
allowed_groups and excluded_groups act as filters on top of required_groups. An empty array means no restriction is applied.Creating shifts manually
Open the Shifts page
From the event Command Center, click Shifts, or navigate to
/events/[id]/shifts.Fill in the fields
Enter the shift name, start time, and end time. Optionally select a template to pre-fill group requirements.
Set group requirements
Enter the
required_groups JSON to specify how many volunteers per group are needed. You can also set allowed_groups or excluded_groups as comma-separated values.Inline editing
Click the edit icon on any shift row in the list to open the Edit Shift modal. You can update the name, times, and all group fields without leaving the page.Shift templates
Templates are reusable blueprints stored at the account level (not per-event). They capture a shift’s duration and group requirements so you can create consistent shifts across multiple events.Creating a template
Open Templates
From the Shifts page, click Manage Templates in the top-right. This opens
/events/[id]/shifts/templates.Set template fields
Provide a name, duration in hours, an optional description, and the
required_groups JSON. You can also set allowed_groups as a JSON array.Using a template
When creating a new shift manually, select a saved template from the template picker in the shift form. The duration and group requirements are pre-filled. You can override any field before saving.Recurring shifts
Recurring shifts let you generate a batch of identical shifts that repeat on a schedule — useful for multi-day events where the same staffing pattern repeats each day.Configure the pattern
Choose a base shift (or select a template) and set the recurrence parameters — start date, end date, and the repeat frequency (daily, weekly, etc.).
Events themselves can also carry a
recurrence_rule (WEEKLY, BIWEEKLY, or MONTHLY) used for the “generate next occurrence” flow when cloning events on a recurring basis.Bulk import via CSV
You can import many shifts at once by uploading a CSV file instead of creating them one by one.List view and timeline view
The Shifts page offers two display modes, toggled with the buttons in the search bar:- List view — A tabular list of all shifts sorted by start time. Supports search by name. Each row has inline edit and delete actions.
- Timeline view — A visual Gantt-style chart showing shifts plotted against a time axis, useful for spotting gaps and overlaps across a long event day.
Deleting shifts
To delete a single shift, click the delete icon on its row in the list view and confirm the prompt. To remove all shifts for an event at once, click the trash icon in the Shifts toolbar and confirm. This is permanent and cannot be undone.Related
Volunteer groups
Define the groups referenced in required_groups and allowed_groups.
Bulk import
Learn more about the CSV import format for volunteers and shifts.
Assignments
Assign volunteers to shifts manually or with Auto-Assign.
Dashboard
Monitor fill rates and shift coverage in real time.