7 min read
Add a Work Schedule to Google Calendar from Sheets
Add work shifts to Google Calendar from a Google Sheets roster with Sheet2Cal. Check dates and times, create shift events in bulk, and update them with Pro.
Turn a spreadsheet roster into calendar events
If your work schedule is already in Google Sheets, Sheet2Cal can create a Google Calendar event for each shift row. Set up the event sheet, enter the destination calendar, title, dates and times, check the rows, then run Create Calendar Events.
This lets you view your shifts alongside other calendar commitments without typing each one into Calendar. With Pro, you can also update linked events after changing their details in the sheet.
Work shifts and working-hours settings solve different problems
A work shift is an event with a specific date and start and end time, such as Tuesday’s 9:00 AM–5:00 PM warehouse shift. A roster with different times each week needs individual dated events.
Google Calendar also has working-hours settings for eligible accounts. Those settings communicate availability; they are separate from the shift events created by Sheet2Cal. This guide covers adding an actual roster to your calendar.
1. Set up the event sheet
Install Sheet2Cal, open your Google spreadsheet and choose Extensions → Sheet2Cal → Set Up Event Sheet. Use the generated dates tab. Row 2 contains the headers, and event data starts on row 3.
If your roster is a visual weekly grid, transfer each shift into a separate row in the generated structure. Sheet2Cal does not infer events from colored blocks or arbitrary calendar layouts. Preserve the generated columns rather than replacing them with a custom roster.
2. Add one dated shift per row
Choose an editable calendar from the Calendar dropdown for each row. Add a clear title such as Warehouse shift or Alex — front desk. Enter a real Sheets date in Start Date, then the Start Time and End Time. Add Address and Description when useful.
For a fictional example, enter a Warehouse shift on November 12, 2026, starting at 9:00 AM and ending at 5:00 PM. Put the site name in Address and handover instructions in Description. Add the next shift as another row.
Represent each scheduled occurrence with its own row, including rotating shifts. Sheet2Cal creates those rows as events; it does not calculate staffing needs, assign employees or prevent overlapping shifts.
- Calendar: choose the intended personal or shared calendar.
- Title: use a recognizable shift name.
- Start Date and Start Time: enter the actual day and time.
- End Date and End Time: describe when the shift finishes.
- Address and Description: add the site and useful instructions.
- Attendee columns: use one complete email address per column only when you intend to invite someone.
3. Give overnight shifts a next-day end date
For a shift from 10:00 PM on November 12 to 6:00 AM on November 13, enter November 12 as Start Date and November 13 as End Date. Set the times to 10:00 PM and 6:00 AM respectively.
An end time earlier than the start time on the same date describes an invalid duration. Check the date cells, times and calendar time zone instead of trying to fix an overnight shift by changing only the time format. Timed shifts need both start and end times.
4. Check your event rows, then create the shifts
For the first run, use a test calendar and put only a few test shifts in the dates tab. Sheet2Cal reads eligible rows from row 3 onward; selecting or filtering a few cells is not a reliable way to limit which rows it processes.
Run Check Event Rows and fix issues such as missing calendars, invalid dates or end times before start times. Checking does not create events. Once the rows are ready, run Create Calendar Events.
Review the Status column and the Event IDs written after successful creation. Open the destination calendar and compare the test shifts against the sheet before adding the rest of your roster.
5. Update changed shifts with Pro
Keep each created event’s Event ID in column O. If a shift changes, update its dates, times or details in the row and run Sync Sheet Changes (Pro). The sync operation uses the existing ID to find the calendar event.
Do not clear Event IDs just to retry a run: you could lose the link to existing events and create duplicates. Review Status messages first. Sync is an action you run, not a promise that every spreadsheet edit immediately changes Calendar.
Use one source of truth for schedule edits. If people also change the Calendar events directly, reconcile those edits before sending sheet changes back to the calendar.
Using Google Calendar for employee schedules
For a team roster, choose a calendar your account can edit. Include names or roles in event titles so shifts are recognizable. A shared calendar and a guest invitation are different: adding an employee’s email to an attendee column can send an invitation, while leaving the fields blank avoids inviting them through the event.
Before publishing a full roster, verify the destination, sharing arrangements, time zone and whether invitations are intended. Calendar events make the schedule visible, but they do not prove attendance, hours worked or payroll totals.
Need a printable weekly schedule instead?
A weekly schedule template in Google Sheets is useful for planning or printing. Sheet2Cal solves the next step: turning dated rows into actual Google Calendar events.
If you only need a visual monthly or weekly spreadsheet calendar, Calendar Template Maker is the closer fit. If shifts already exist in Google Calendar and you need spreadsheet rows instead, use Sheet2Cal’s import workflow.
Frequently asked questions
Can I add multiple work shifts to Google Calendar at once?
Yes. Enter each dated shift as a row in Sheet2Cal’s dates tab, check the event rows, then run Create Calendar Events. The free daily event allowance applies.
Does Sheet2Cal convert a weekly calendar grid automatically?
No. Use the generated event-row structure with separate columns for dates, times and event details. Transfer each shift into its own row.
Can I add overnight shifts?
Yes. Enter the actual next-day End Date as well as the End Time, then check the row and verify the resulting event.
Will editing a shift in Google Sheets update Calendar automatically?
Run Sync Sheet Changes with Pro to send supported edits to linked events. Keep the Event IDs intact; edits are not continuously synchronized in the background.
Sheet2Cal
Put this workflow to work
Start from the product page for setup details, or install the add-on from the Google Workspace Marketplace.