Schedule Sync

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

NameEmailMon 10-05Tue 10-06Wed 10-07
Alicealice@…MME
BenEOFFN

2. Define the shift codes

In a second sheet called Shift codes:

CodeTitleStartEnd
MMorning shift07:0015:00
EEvening shift15:0023:00
NNight shift23:0007: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

  1. Open Extensions → Schedule Sync → Open and choose the Shift roster tab.
  2. 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.
  3. Optionally tick Invite staff by email so each person gets their own shifts on their personal calendar.
  4. 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

Try Schedule Sync free

Related: Create Google Calendar events from Google Sheets · Calendar Timesheet: turn calendar events into billable hours