Sheets2GCal is a Sheets Add-on for managing Google Calendar Events.

To get started after installing, go to the Google Sheets Menu under “Extensions” > “Sheets2GCal”, and click either “Import” to import events from a Google Calendar, or “Link Sheet” to set up a new blank Sheet for use with Sheets2GCal.

Important: Each Sheet is associated with a single Google Calendar for which you have read/write access. Create new Sheets for each calendar you will be using (you can use the tabs at the bottom to create multiple “Sheets” in the same “Spreadsheet”), and click either Import to import the events from a calendar, or “Link Sheet” to link an existing Sheet with any Google calendar using the Calendar ID.

Please note that if you use “Link Sheet” to change the linked calendar for a Sheet that already contains events you will have to delete all the data in the hidden “EventID” column before creating new copies of the events. Doing this will automatically check the “Update” column for every row, and the events can then be recreated in the newly linked Google calendar and given new EventIDs for future edits.

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. All other columns are optional. Any rows without both Title and Start Date will simply be ignored.

Enter your 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/edit, then click “Update {Calendar Name}” in the Sheets2GCal “Update Calendar” sidebar to save the events to that Google Calendar. You can also use formulas to pull in data from other Sheets. You can add extra columns or change the order of the columns – except for columns A and B which must always be the “Delete” and “Update” columns.

When events are updated in or imported from Google Calendar they are linked (using a hidden Event ID column), and can be updated or deleted directly from the Sheet. Click on an event’s “Link” in that column to open the event in Google Calendar. If you want to duplicate events you must duplicate a row then delete the event ID for the new row, then “Update” to create the new copy of the event.

The “Update” and “Delete” cells for even rows that are successfully created, edited or deleted are coloured to indicate the status: deleted events will be marked red, created/edited events coloured green. To reset the colours you can remove colours for the row manually, or use the “Reset Colours” button in the sidebars for “Update” and “Import

The “Timezone” field is optional, and will default to the main time zone setting for your Google Calendar account. To use a different time zone for an event either change your general Google Calendar time zone, or insert the IANA timezone code for the event in the “Timezone” column. When sharing calendars you should not need to worry about this because other users will see the times automatically adjusted for their own time zone.

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 change the reply status for guests. Check the “Send Notifications” checkboxes if you want notifications sent out to Guests for new events (future events only), or updates to existing events.

Please note that Google restricts the number of invitations you can send depending on your account type: free Google accounts can only add 10 guests per event, and send a limited number of invitations per hour/day. Paid Google Workspace users have higher limits.

Type any text in the “Meet” column (I use “YES”) before creating an event and it will be replaced by the Meet ID as soon as the event is created. If you have added email addresses to the “Guest” column the Meet invite will be sent to the guests, again subject to the limits Google imposes.

Repeat – must be Daily, Weekly, Monthly or Yearly.
By Day – for weekly repeats (only) you can use a comma separated list of two letter day names e.g Mo,We,Fr. The initial event should be on one of the listed days.
Until – this is date on which the last event in the repeat series occurs.
Count – the number of times the event should repeat.
Interval – this is the interval of the repeat occurrences, so if “Repeat” is set to “Weekly” and Interval to 2 this will create an event every 2 weeks.

The full iCal specifications allow other more advanced options, but to keep things simple Sheets2GCal uses these basic parameters. For a full explanation of how to build an RRULE please refer to this page:

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.

 Made by GCalToolkit Calendar Tools