Work shift schedule template
The usual routine: build the rota in a spreadsheet, screenshot it, post it to the group chat. Then Thursday's shift changes and half the team is looking at the old screenshot. This template keeps the spreadsheet as the place you build the schedule and gives every staff member a calendar feed to subscribe to once, so the version on their phone is always current.
One row per shift: date, start and end time, who's working, and what they're doing. When you finish next week's rota you just add the rows. When you change a shift, you edit the row and the event updates in place on every subscribed calendar.
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 | The day of the shift. | 9/14/2026 |
Start time | Shift start time. | 8:00 AM |
End time | Shift end time. | 4:00 PM |
Staff | Who's working. Becomes the event title. | Dana |
Role | Optional. Opening, closing, register, front desk. Shows in the event description. | Opening |
Sample data
This is exactly what “Use this template” loads into the preview — replace it with your real schedule.
| Date | Start time | End time | Staff | Role |
|---|---|---|---|---|
| 9/14/2026 | 8:00 AM | 4:00 PM | Dana | Opening |
| 9/14/2026 | 12:00 PM | 8:00 PM | Miguel | Closing |
| 9/15/2026 | 8:00 AM | 4:00 PM | Jess | Opening |
| 9/15/2026 | 12:00 PM | 8:00 PM | Dana | Closing |
| 9/16/2026 | 8:00 AM | 4:00 PM | Miguel | Opening |
| 9/16/2026 | 12:00 PM | 8:00 PM | Aaron | Closing |
| 9/17/2026 | 8:00 AM | 4:00 PM | Jess | Opening |
| 9/17/2026 | 12:00 PM | 8:00 PM | Miguel | Closing |
| 9/18/2026 | 8:00 AM | 4:00 PM | Dana | Opening |
| 9/18/2026 | 4:00 PM | 10:00 PM | Aaron | Late close |
| 9/19/2026 | 9:00 AM | 5:00 PM | Jess | Saturday |
- One row per person per shift. If two people work the same shift, that's two rows. Each gets its own event, so changing one doesn't touch the other.
- Lead the Staff column with the name and keep it short. It's the event title, and a phone's week view clips titles after about fifteen characters.
- Build the rota the way you already do. Copy last week's block of rows, paste, adjust. New rows become new events on the next sync.
- Delete rows for past weeks now and then. The free feed holds 50 events at a time and a busy team gets through them quickly.
Questions
Do staff see everyone's shifts, or just their own?
I post the rota Friday for the next week. Is that too last-minute for a feed?
Can staff request or accept swaps through this?
We build the schedule in scheduling software and export it. Can we still use this?
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