How to put a shift schedule on Google Calendar
Short answer: keep the roster in Google Sheets as a grid (staff down the side, dates across the top, a shift code like M/E/N in each cell), define what each code means in a small table, then convert every filled cell into a calendar event. Schedule Sync does the conversion in one click and keeps the calendar updated when the roster changes.
1. Lay out the roster
| Name | Mon 10-05 | Tue 10-06 | Wed 10-07 | |
|---|---|---|---|---|
| Alice | alice@… | M | M | E |
| Ben | E | OFF | N |
- Row 1 holds real dates (format them however you like, e.g. "Mon 10-05").
- The Email column is optional; use it to invite each person to their own shifts.
- Blank,
OFF,-,X,LEAVEorPTOmeans no shift.
2. Define the shift codes
In a second sheet called Shift codes:
| Code | Title | Start | End |
|---|---|---|---|
| M | Morning shift | 07:00 | 15:00 |
| E | Evening shift | 15:00 | 23:00 |
| N | Night shift | 23:00 | 07:00 |
An end time earlier than the start (23:00 → 07:00) is an overnight shift that ends the next morning.
3. Sync it to a calendar
- Open Extensions → Schedule Sync → Open and choose the Shift roster tab.
- Pick the Roster and Shift codes sheets, and a calendar. A new shared "Staff shifts" calendar works well: share it with the team so everyone sees the whole rota.
- Optionally tick Invite staff by email so each person gets their own shifts on their personal calendar.
- Click Preview changes, check the list, then Apply. Each shift becomes an event like "Morning shift – Alice, 07:00–15:00".
4. Changing the roster
Edit cells and sync again. The preview shows exactly what changes: a swapped shift updates the existing event, a new day off removes that day's event, and new rows add events. Nothing is duplicated, and events you added to the calendar by hand are never touched.
Tips for rota managers
- One sheet per period. Duplicate the roster tab for next month; each sheet syncs independently.
- Time zones: times use the spreadsheet's time zone (File → Settings). If a team member's calendar uses another zone, their calendar shows the correct moment in their own local time.
- Free vs Pro: the free plan covers up to 50 shifts per schedule, which is enough for a small team's week. Pro ($5/month) removes the limit.
Related: Create Google Calendar events from Google Sheets · Calendar Timesheet: turn calendar events into billable hours