required_groups field.
What groups are used for
- Shift requirements — the
required_groupsJSON on a shift (e.g.{"Medical": 2, "Security": 1}) references group names directly. The auto-assign engine reads this to match the right volunteers. - Volunteer classification — every volunteer has a
groupfield that determines which shifts they are eligible for. - Analytics — the dashboard’s “Volunteers by group” pie chart breaks down your roster by group.
- Kiosk filtering — the kiosk can surface shifts relevant to a volunteer’s group during check-in.
Creating a group
Open Volunteer Groups
From the event Command Center, navigate to Volunteers → Manage Groups, or go directly to
/events/[id]/groups.Click Add Group
Click the Add Group button in the top-right corner of the page. A form panel expands.
Fill in the group details
Complete the following fields:
| Field | Required | Description |
|---|---|---|
| Name | Yes | The role label. Must be unique within the event. |
| Color | No | A hex color used for the group’s visual badge and left border. |
| Description | No | A short note about the role’s responsibilities. |
| Default max hours | No | A cap on how many hours a volunteer in this group can be assigned per event. Accepts values in 0.5-hour increments. |
Color coding
Every group has an optional hex color. If you do not set one, the system defaults to blue (#3b82f6). Colors appear as:
- A left border on the group card in the Groups page.
- A colored indicator next to the group name in volunteer lists and shift views.
Editing and deleting groups
Click Edit on a group card to re-open the form with the existing values pre-filled. Update any field and click Update Group to save. Click Delete to remove a group. Deletion will fail if volunteers are currently assigned to that group.Discovered groups
When volunteers are imported via CSV with agroup field that does not match any explicitly created group, Shift Scheduler surfaces these as Discovered Groups at the bottom of the Groups page. Discovered groups are auto-colored using a deterministic hash of the group name.
Click Customize on a discovered group card to promote it to a full group with a description, custom color, and default max hours.
Discovered groups function normally for shift matching — they are not second-class. Customizing them is optional but recommended for color control and adding a description.
How groups connect to shifts
When you create or edit a shift, therequired_groups field maps group names to headcounts:
required_groups does not match any volunteer’s group, those slots remain unfillable by auto-assign.
You can also restrict or block groups using allowed_groups and excluded_groups on a shift. See Shifts for full details.
How groups connect to volunteers
Each volunteer record has agroup text field. When you add or edit a volunteer, you select their group from the groups defined for that event. Volunteers can only belong to one group per event.
The volunteer’s group determines:
- Which shifts they count toward in
required_groups - Whether they pass
allowed_groupsorexcluded_groupsfilters on a shift - Which chart segment they appear in on the dashboard analytics
Best practices
Use consistent, unambiguous names
Use consistent, unambiguous names
Group names appear verbatim in shift requirements JSON, CSV exports, and auto-assign logic. Avoid spaces at the start or end, and pick one canonical casing —
Medical or medical, not both.Keep groups broad, not role-specific
Keep groups broad, not role-specific
A group like
Medical is more reusable across shifts than Paramedic – Zone A. Use the shift name to convey specific placement. Groups express capability categories, not individual positions.Create groups before importing volunteers
Create groups before importing volunteers
If you import volunteers via CSV with group names, those names will appear as Discovered Groups if they were not created first. Explicitly creating groups beforehand lets you assign colors and descriptions ahead of the import.
Set default max hours at the group level
Set default max hours at the group level
The
max_hours_default on a group acts as a sensible baseline. You can still override max hours on individual volunteers, but a group-level default reduces manual work when adding many volunteers of the same type.Related
Shifts
Reference groups in required_groups, allowed_groups, and excluded_groups.
Volunteers
Assign each volunteer to a group when creating or editing their profile.
Bulk import
Import volunteers with group assignments from a CSV file.
Dashboard
See volunteer distribution by group in the analytics bar chart.