Race volunteer schedule template
Volunteer shift grids tend to live in an email attachment sent a few weeks before the race. By race morning, some volunteers have the wrong start time and others don't know their shift exists.
This template makes the shift grid a live feed instead. Each row is one shift with a real start and end time, so it blocks the actual hours on a volunteer's calendar. When you rework shifts the week of the race, the calendar everyone subscribed to updates with you.
Opens a live preview of the sample events below — no account needed. Swap in your own rows when you're ready.
The columns
One row per event, headers in the first row. That's the whole format.
| Column | What it becomes | Example |
|---|---|---|
Date | Shift date. Packet pickup often lands the day before the race. | 10/10/2026 |
Time | Shift start. Race-day shifts start early, so be exact. | 6:30 AM |
End Time | Shift end. With it filled in, the event blocks the full shift instead of a default hour. | 10:00 AM |
Event | The role: station, crew, or shift name. | Aid station 1 — mile 2 |
Location | The exact corner or gate, so an early-morning volunteer's phone can navigate to it. | Elm St at Park Ave |
Sample data
This is exactly what “Use this template” loads into the preview — replace it with your real schedule.
| Date | Time | End Time | Event | Location |
|---|---|---|---|---|
| 10/9/2026 | 12:00 PM | 4:00 PM | Packet pickup — shift 1 | Runners Corner, 210 Main St |
| 10/9/2026 | 4:00 PM | 8:00 PM | Packet pickup — shift 2 | Runners Corner, 210 Main St |
| 10/10/2026 | 5:00 AM | 7:30 AM | Course setup and signage | Start line, Main St and 3rd Ave |
| 10/10/2026 | 5:30 AM | 8:00 AM | Race-day packet pickup | Registration tent, City Park |
| 10/10/2026 | 6:30 AM | 10:00 AM | Aid station 1 — mile 2 | Elm St at Park Ave |
| 10/10/2026 | 6:30 AM | 11:00 AM | Aid station 2 — mile 4.5 | River Trail gate |
| 10/10/2026 | 7:00 AM | 11:00 AM | Course marshals — downtown loop | Marshal check-in, Main St and 3rd Ave |
| 10/10/2026 | 7:30 AM | 11:30 AM | Finish line and medals | Finish chute, City Park |
| 10/10/2026 | 8:00 AM | 12:00 PM | Food tent and awards | City Park pavilion |
| 10/10/2026 | 10:30 AM | 1:00 PM | Course teardown | Start line, Main St and 3rd Ave |
- Fill in End Time for every shift. That's what makes a 6:30 to 10:00 aid-station shift block those hours on a volunteer's calendar, so nobody double-books the morning or leaves early.
- Use one row per shift, not per volunteer. Ten shifts is ten events, even if sixty people work them.
- You can keep your volunteer-name and phone-number columns in the same sheet. Columns you don't map are ignored by the feed, so the sheet stays your full signup tracker.
- Make Location something a phone can navigate to. “Elm St at Park Ave” gets a volunteer to mile 2 at 6 AM; “aid station 1” doesn't.
Questions
Does each volunteer see only their own shift?
We have 60 volunteers. Does that blow past the 50-event limit?
Shifts always get reshuffled the week of the race. What happens then?
Can I feed this from our signup tool instead of a Google Sheet?
Start with the sample, finish with your schedule.
The preview is live in seconds. Your roster subscribes once and stays in sync.
Use this template