← Calendar Autopilot · Guides
How to put a shift schedule from Google Sheets™ on Google Calendar™
Updated November 10, 2026
Plenty of teams build the shift schedule in Google Sheets™ because it's easy to see the whole week, swap names and count hours. But people check their phones, not the spreadsheet, so the schedule also needs to be on Google Calendar™. This guide covers the layout that converts cleanly, the overnight-shift trap, and how to share it with the team.
Step 1: one row per shift
A shift schedule often looks like a grid: names down the side, days across the top, shift times in the cells. That's great for planning and hard for any calendar tool to read. Keep the grid if you like it, and add a second tab with one row per shift:
| Shift date | Start time | End time | Title | Location |
|---|---|---|---|---|
| 11/2/2026 | 7:00 AM | 3:00 PM | Maria: front desk | Main St |
| 11/2/2026 | 3:00 PM | 11:00 PM | Dev: front desk | Main St |
| 11/2/2026 | 11:00 PM | 7:00 AM | Sam: night | Main St |
Tips for this tab:
- Put the person's name in the title. On a shared calendar, "Maria: front desk" is readable at a glance; "Front desk" three times a day is not.
- Make dates and times real values. Type them, or format the columns with Format, then Number. A real date returns TRUE for
=ISNUMBER(A2), since Sheets counts dates as days. - Set the spreadsheet's time zone to where the shifts happen, under File, then Settings (Google's steps).
Step 2: watch out for overnight shifts
Sam's shift starts at 11:00 PM and ends at 7:00 AM the next day. If a tool reads "11/2, 11:00 PM to 7:00 AM" literally, the end is before the start and the event fails or comes out wrong. Two ways to handle it:
- Add an End date column and put 11/3/2026 on that row. Google Calendar's CSV import has an End Date column for this.
- Or use a tool that understands that an end time earlier than the start time means the next morning.
Step 3: make a team calendar and share it
Don't put everyone's shifts on your personal calendar. Make one calendar just for the schedule:
- In Google Calendar on a computer, next to Other calendars, click the add icon, then Create new calendar. Name it "Shifts" or similar (Google's steps).
- Under My calendars, open its Settings and sharing page from the More menu, click Add people and groups under Shared with, and add your team (Google's steps).
- Pick a permission level. "See event details" lets staff see the schedule without changing it. Managers who edit the schedule can get one of the "Make changes" levels.
A separate calendar has another benefit: if a load goes wrong, you can delete that one calendar and start over without touching anyone's personal events.
Step 4: get the shifts onto it
For a schedule that's set once: export the one-row-per-shift tab as a CSV (File, then Download) with Google's header names (Subject, Start Date, Start Time, End Date, End Time, Location) and import it in Calendar under Settings, then Import & Export, choosing the Shifts calendar as the destination. By default Google imports into your primary calendar, so don't miss that choice.
For a schedule that changes every week: a CSV doesn't keep up. Google says imported events "don't stay in sync," so every swap means editing an event by hand, and re-importing the week doubles every shift. That's where a script or an add-on that remembers which event belongs to which row earns its keep.
Handling swaps and cancellations
- Swap: change the name in the row. With a sync that tracks rows, the event's title updates; with an import, edit the event in Calendar too.
- Cancelled shift: delete the row, and make sure its event goes too. A stale shift on the calendar is how someone turns up for a shift that no longer exists.
- Tell the person. Don't count on anyone noticing that a shared calendar changed. When a shift moves at short notice, message them as well.
Calendar Autopilot reads this kind of sheet directly. It recognizes headers such as Shift date, Start time and End time (and Time in / Time out), treats an end time earlier than the start as the next morning, and puts each shift on whichever calendar you own that you pick, including a team calendar you created. Change a row and its event updates; delete the row and the event goes. If you list people in a Guests column, they're added to their shift without an invitation email being sent. With automatic sync on, swaps reach the calendar right after each edit, plus an hourly check that runs with the sheet closed.
A shift schedule that updates the calendar
Calendar Autopilot keeps your shift sheet and Google Calendar™ in step, with ✓ or ⚠ on every row and an email if automatic sync stops. Syncing by hand is free on any sheet; automatic sync is free on 1 sheet (first 100 rows), and paid plans start at $3 a month. Install from Google Workspace Marketplace™ · Learn about Calendar Autopilot.
Google Sheets™, Google Calendar™ and Google Workspace Marketplace™ are trademarks of Google LLC. Calendar Autopilot is made by Coding Friend LLC and is not affiliated with or endorsed by Google.