A Workspace Add-on for Google Calendar to improve productivity, brought to you by the powerful desktop calendar management software GCalToolkit. Install from https://workspace.google.com/marketplace/app/gcalextras/338335660766

GCalExtras integrates with Google Calendar to provide extras functionality such as saving/loading groups of calendars, mass copy/edit for a range of events, easy access to the event location text, and storing private notes associated with individual events. It is provided by the creator of the popular Sheets add-on “Sheets2GCal” (>95,000 users), the Chrome Extension GCalPlus, and desktop software GCalToolkit. The author is also a Diamond Google Calendar Product Expert.

GCalExtras Add-on for Google Calendar

After installing the add-on and authorizing access to your Calendars and Spreadsheets, open GCalExtras by clicking the icon in the right-hand add-ons panel to display a button “Show All Calendars” which allows you to quickly select all your Google Calendars (except Tasks and Reminders) so they display in the main Calendar view. Select a new combination of calendars and click “Add Preset”, give the preset a name, and click ‘Save’ to add this to your list of custom calendar presets.

For example, you might have several calendars relating to “Work”, and others which are for “Personal ” use. Using presets allows you to select a group of calendar to be displayed instead of manually checking/unchecking them every time.

Mass Copy/Move Events

Click “Copy/Move Events” in the Sidebar menu to open a window for copying or moving a range of events to a new start date. For example, set the “Start Date” to today’s date, the “End Date” to one week from today, and the “New Start Date” no next month in order to copy or move all the events in the next week to the corresponding week next month. This can be used to copy shift work, regular lessons, or irregular repeat schedules to different calendars on different dates.

All single events within the chosen dates will all be copied/moved from the “source calendar” to the “target calendar”. If you have repeat events that fall within the date range, these occurrences of the repeat will also be copied without any of the repeat rule data. Guests will be copied/moved, and the new events will show up on the calendar of anyone with access to the calendar, where they can accept or decline etc. No email notifications will be sent to any guests for new events, or for events which are moved (i.e deleted). You will need to let these people know personally, unless you use the option “notify all guests”. Conference data such as Zoom calls and Meets can not be copied, so you will have to add new meetings manually.

To avoid errors caused by Google Add-on quota restrictions the free version is limited to 10 events per batch, and you need to click “Continue” to keep working through the selected date range.  The paid version allows 80 events per batch; any more than this would risk run-time errors as the script can take too long to process.

When you open any event GCalExtras will show the event details, and display a section where you can add a “private note” for that event. These notes are stored in a new Spreadsheet called “GCalExtras” (which you can rename and move). The basic details of each event (Calendar Name, Title, Start Date, Description and Location) are saved along with the private note for easy reference. Private notes can also be edited directly in the sheet and the changes will be reflected in GCalExtras. Changes to the other fields have no effect and are designed for reference only. Updating a private note will also update these details.

Storing the private notes in a Sheet that you own ensures that these details remain private (unless you share access to that Sheet), and ensures the data is never lost because Sheets preserves backups of the data using versioning.

GCalExtras is free to use with 2 limitations: a maximum of 3 presets can be created with the free version, and private notes have a maximum length of 256 characters. Upgrading to the paid version removes these restrictions within a few minutes.


View your country, language, and timezone https://www.googleapis.com/auth/script.locale

This will be used to internationalize the add-on (coming soon!)

Run as a Calendar add-on https://www.googleapis.com/auth/calendar.addons.execute

This is required to read basic event data such as the title, description and location.

Connect to an external service https://www.googleapis.com/auth/script.external_request

This is used to periodically check if you have purchased the full version, and to open the website in a new tab.

See, edit, create, and delete your spreadsheets in Google Drive https://www.googleapis.com/auth/spreadsheets

This is needed to write the private notes to a Sheet that you own.

See your primary Google Account email address https://www.googleapis.com/auth/userinfo.email
These are required by all add-ons.

See, edit, share, and permanently delete all the calendars you can access using Google Calendar https://www.googleapis.com/auth/calendar

These are required to select and deselect calendars