Sheets2GCal: Syncing Google Calendars and Sheets.
Listing updated:February 12, 2024
Works with:
818K+
Overview
Sheets2GCal is a Sheets Add-on for managing Google Calendar Events.

To get started after installing, go to the Google Sheets “Add-Ons” menu and click either “Import Calendar to Sheet” to import events from a Google Calendar, or “Configure Sheet” and set up a new blank Sheet for use with Sheets2GCal using "Link Sheet".

NEW: you can now download and sync ranges of dates by deselecting  the option "All  Events" and  choosing a start and end date. All events in the rangee will be downloaded, and you can fetch calendar updates using "Import Updates" without recreating the Sheet. Changing the date range and importing updates will take longer as all additional events must  be downloaded.

Each Sheets2GCal is associated with a single Google Calendar for which you should have read/write access. In Google Sheets every "SpreadSheet" is a collection of "Sheets". Once you have created a Spreadsheet for Sheets2GCal, use the small "+" icon bottom-left to create new Sheets within the same Document - that way you can easily move between the Tabs at the bottom, each of which can be connected to a different Google Calendar, without having to close and open a new document.

Quick Import, Update and Export/Import (Update Calendar -> Import changes to Sheet) menu items do exactly that without even having to open the add-on sidebar. These use the default settings to import changes made to Google Calendar.

When events are created/exported from the Sheet or imported from Google Calendar they are linked (using a hidden Event ID column), and can be updated or deleted directly from the Sheet using "Export Sheet to Calendar". Click an event’s “Link” in that column to open the event in Google Calendar.

Only events with the "Update" column checked will be updated in the Calendar, so if you use formulas to populate calendar data you will need to use "Check Sheet vs Calendar" to first check the "Update" box for all rows that do not match the corresponding Google Calendar event. Please note that this also detects differences caused  by edits made in Google Calendar, so be careful not to overwrite edits made directly in your calendars.

"Import All" and  "Export All" will perform Quick Import and Quick Export for all your Sheets in the Spreadsheet which are linked to Google Calendar.

To create new events you must enter at least the Title and Start Date for All-Day events, or Title, Start Date and Start Time for timed events.

Enter new events manually, or copy/paste rows/columns from other spreadsheets into the correct columns, check the “Update” checkbox for the events you wish to create, then click “Update {Calendar Name}” to save the events to that Google Calendar.

You can also use formulas to populate calendars with data from your own additional columns, or even  other Sheets. Cells containing formulas  are no longer affected by Importing or Exporting, so you could add a "Duration" column to calculate the difference between Start and End times, for example, and it would continue to work when events are edited in Google Calendar, or when new events  are imported.

Add a list of emails separated by commas in the ‘Guests’ field and these Guests will be added to the event. Once uploaded to Google this field will show the full Guests JSON data including guest responses. This data can be edited and saved to Google, but you must preserve JSON formatting and you cannot edit other guest replies. Check the “Send Notifications” checkboxes if you want notifications sent out to Guests for new events (future events only), or updates to existing events.

Add a Google MEET to any event by typing any text(e.g "YES") into the "Meet" column before updating the event in Google Calendar. When the event is created/updated the text  will be automatically replaced by the link to the Meet.

Use "Automatic Import/Export" to schedule a daily import/export of any changes made to Google Calendar to one or several Sheets2GCal Sheets in a given Spreadsheet,  followed by an update to Google Calendar with any Sheet rows that do not match the calendar events.

"Automatic Import/Export" first imports changes made to the Google Calendar, then checks for differences between the updated Sheet and the Calendar before updating the events in the Calendar which don't match the Sheet. You can set this to happen once per day for multiple Sheets in a given Spreadsheet.

Please use this option with caution: Google limits the amount of data that can be processed without the  user present, so you may run into problems with large calendars. Events that have been successfully processed will  be  coloured green.

Creating events in Google Calendar from Google Sheets is free and unlimited for all users. To import events you need to sign up for a FREE account on https://www.sheets2gcal.com. This will allow you to import up to 5000 events per day, and perform up to 1000 updates/deletes per day. For heavier usage please purchase a subscription.

Google Workspace users may buy individual subscriptions, or a "Domain" subscription to allow all users on the domain to use the unlimited version of Sheets2GCal. For more than 5 users the "Domain" subscription will save you money.

The developer may not be held responsible for any problems caused directly or indirectly by the software. It is the user’s responsibility to ensure they have regular backups of Google Calendar / Sheets.

"https://www.googleapis.com/auth/userinfo.email"
Required by all add-ons to identify the user.

"https://www.googleapis.com/auth/calendar.readonly"
Required to read calendar event data for import to your Sheet

"https://www.googleapis.com/auth/spreadsheets.currentonly"
Required to access the current Sheet in which you are using Sheets2GCal

"https://www.googleapis.com/auth/calendar.events"
Required to update and delete events based on your Sheet

"https://www.googleapis.com/auth/script.container.ui"
Required by all Google Workspace add-ons

"https://www.googleapis.com/auth/script.external_request",
Required to check your membership status.

"https://www.googleapis.com/auth/script.scriptapp"
Required to set up automatic imports of Google Calendar into your Sheets

"https://www.googleapis.com/auth/spreadsheets"
Required to run automatic imports of Google Calendar into your Sheets
Additional information
PricingNot available
Privacy policy
Terms of service
Sheets2GCal will ask for the permissions shown below. Learn more
Sheets2GCal will need access to your Google account
This will allow Sheets2GCal to :
See, edit, create, and delete all your Google Sheets spreadsheets
View and manage spreadsheets that this application has been installed in
View and edit events on all your calendars
See and download any calendar you can access using your Google Calendar
Display and run third-party web content in prompts and sidebars inside Google applications
Allow this application to run when you are not present
See your primary Google Account email address
See your personal info, including any personal info you've made publicly available
Loading
Search
Clear search
Close search
Google apps
Main menu