Google Calendar

The Google Calendar modules enable you to monitor, create, retrieve, update, or delete events and calendars in your Google Calendar.

Getting Started with Google Calendar

Prerequisites

  • A Google account

In order to use Google Calendar with Integromat, it is necessary to have a Google account. If you do not have one, you can create a Google account at google.com.

The module dialog fields that are displayed in bold (in the Integromat scenario, not in this documentation article) are mandatory!

Connecting Google Calendar to Integromat

To connect your Google Calendar account to Integromat follow the general instructions for Connecting to services.

After you click the Continue button, Integromat will redirect you to the Google Calendar website where you will be prompted to grant Integromat access to your account.

2020-07-08_16_07_00-2020-07-08_16_05_33-OGslMNnO7u.png

Confirm the dialog by clicking the Allow button.

Calendar

List Calendars

Retrieve calendars of the authenticated user.

ConnectionEstablish a connection to your Google Calendar.
Minimum access role

Select the minimum access role for the user in the returned entries.

  • Free Busy Reader: The user can read free/busy information.
  • Owner: The user can read and modify events and access control lists.
  • Reader: The user can read events that are not private.
  • Writer: The user can read and modify events.
Show hidden calendarsEnable this option to return also hidden entries.
LimitSet the maximum number of calendars Integromat will return during one execution cycle.

Get a Calendar

Returns details of the specified calendar.

ConnectionEstablish a connection to your Google Calendar.
Calendar ID

Select or map the ID of the calendar you want to retrieve details about.

Create a Calendar

Creates a new calendar in your Google account.

ConnectionEstablish a connection to your Google Calendar.
Calendar name

Enter a name for the new calendar.

Update a Calendar

Updates a calendar title of the specified calendar.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar you want to rename.
Calendar name

Enter a new title for the calendar.

Delete a Calendar

Deletes an existing calendar.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar you want to rename.

Clear a Calendar

Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. 

ConnectionEstablish a connection to your Google Calendar.

Event

Watch Events

Retrieves details of an event when the event is created, updated, deleted, started, or ended in the selected calendar.

ConnectionEstablish a connection to your Google Calendar.
CalendarSelect the calendar you want to watch for events.
Watch eventsSelect the change in date that triggers the module.
Show deleted eventsEnable this option to include deleted events (with status equals "canceled") in the result. 
QueryFilter the result by events that match the search term in any field, except for extended properties.
LimitSet the maximum number of events Integromat will return during one execution cycle.

Search Events

Searches for events in the selected calendar.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect the calendar you want to watch for events.
Start dateEnter the start date of the date range you want to filter results by. The list of supported date and time formats.
End dateEnter the end date of the date range you want to filter results by. The list of supported date and time formats.
Single eventsEnable this option to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves.
QueryEnter the search term to find events that match these terms in any field, except for extended properties.
Order by

Select the order of the events returned in the result.

  • Start Time: Order by the start date/time (ascending). This is only available when querying single events.
  • Updated Time: Order by last modification time (descending).
LimitSet the maximum number of events Integromat will return during one execution cycle.

Get an Event

Retrieves event details.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar that contains the event you want to retrieve details about.
Event IDSelect or map the ID of the event you want to retrieve details about.

Create an Event

Creates a new event.

ConnectionEstablish a connection to your Google Calendar.
Create an eventSelect whether you want to quickly add the event or specify more details of the event.
Calendar IDSelect or map the ID of the calendar you want to create an event for.
ColorSelect the hex code of the color you want to use for the event. The color in the brackets is the background color.
Event name

Enter text describing the event to be created.
E.g.Appointment at Capitol Hill on June 3rd 10am-10:25am.

For the Quick add (selected in the Create an Event field). If no date/time is provided in this field, the quick adding event is created starting from the current time for an hour.

All day eventEnable this option if the event is an all day event.
Start dateEnter the date, in the format "yyyy-mm-dd", if this is an all-day event. The list of supported date and time formats.
End dateEnter the date, in the format "yyyy-mm-dd", if this is an all-day event. The list of supported date and time formats.
DescriptionEnter a description of the event. Supports HTML.
LocationSpecify the geographic location of the event as free-form text.
Use the default reminder settings for this eventEnable this option to apply default calendar reminders to this event.
Reminders

Set the event reminders.

MethodSelect the method used by this reminder.
  • Email - Reminders are sent via email.
  • Popup - Reminders are sent via a UI popup.
MinutesThe number of minutes before the start of the event when the reminder should trigger. Valid values are between 0 and 40320 (4 weeks in minutes).
Attendees

Add attendees of the event.

NameEnter the attendee's name.
EmailEnter the attendee's email address.
Show me asSelect your status.
VisibilitySet the visibility of the event. 
  • default - Uses the default visibility for events on the calendar. This is the default value.
  • public - The event is public and event details are visible to all readers of the calendar.
  • private - The event is private and only event attendees may view event details.
Send notifications about the event creation

Select whether to send notifications about the creation of a new event. Note that some emails might still be sent.

The None option should only be used for migration use cases.
Guests can modify the eventEnable this option to allow attendees other than the organizer to modify the event.
Recurrence

Specify the recurrence.

A list of RRULE, EXRULE, RDATE, and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the start and end fields. This field is omitted for single events or instances of recurring events.

Update an Event

Updates an existing event.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar that contains the event you want to update.
Event IDSelect or map the ID of the event you want to update.

Please find the descriptions of the fields in the Create an Event section above.

Delete an Event

Deletes a specified event.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar that contains the event you want to delete.
Event IDSelect or map the ID of the event you want to delete.
Send notifications about the event deletionGuests who should receive notifications about the deletion of the event.

Access Control Rule

List Access Control Rules

Returns the rules in the access control list for the calendar.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar you want to retrieve ACLs for.
LimitSet the maximum number of ACLs Integromat will return during one execution cycle.

Get an Access Control Rule

Retrieves an access control rule details.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar that contains the access control rule you want to retrieve.
Access control rule IDSelect or map the ID of the access control rule you want to retrieve.

Create an Access Control Rule

Creates an access control rule.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar you want to create an access control rule at.
RoleSelect the role assigned to the scope.
  • Free Busy Reader - Provides read access to free/busy information.
  • Reader - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
  • Writer - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
  • Owner - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
TypeSelect the type of scope.
  • Default - The public scope. This is the default value.
  • User- Limits the scope to a single user.
  • Group - Limits the scope to a group.
  • Domain - Limits the scope to a domain.
The permissions granted to the Default, or the public, scope apply to any user, authenticated or not.
ValueEnter the email address of a user or a group, or the name of a domain, depending on the scope type.

Update an Access Control Rule

Updates an existing access control rule.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar that contains the access control rule you want to update.
Access control rule IDSelect or map the ID of the access control rule you want to update.
Role

Select the role assigned to the scope.

  • None - Provides no access.
  • Free Busy Reader - Provides read access to free/busy information.
  • Reader - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
  • Writer - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
  • Owner - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
Send notificationsEnable this option to send notifications about the calendar sharing change. Note that there are no notifications on access removal. 

Delete an Access Control Rule

Deletes an existing access control rule.

ConnectionEstablish a connection to your Google Calendar.
Calendar IDSelect or map the ID of the calendar that contains the access control rule you want to delete.
Access control rule IDSelect or map the ID of the access control rule you want to delete.

Make an API Call

Allows you to perform a custom API call.

ConnectionEstablish a connection to your Google Calendar.
URL

Enter a path relative to https://www.googleapis.com/calendar.
For example/v3/users/me/calendarList.

For the list of available endpoints, refer to the Google Calendar API Documentation.
Method

Select the HTTP method you want to use:

GET
to retrieve information for an entry.

POST
to create a new entry.

PUT
to update/replace an existing entry.

PATCH
to make a partial entry update.

DELETE
to delete an entry.

HeadersEnter the desired request headers. You don't have to add authorization headers; we already did that for you.
Query stringEnter the request query string.
BodyEnter the body content for your API call.

Example of Use - List Calendars

The following API call returns calendars on your calendar list in your Google account:

URL:
/v3/users/me/calendarList

Method:
GET

2020-07-10_13_52_48-Integration_Google_Calendar___Integromat.png

The result can be found in the module's Output under BundleBody > items
In our example, 3 calendars were returned:

2020-07-10_13_53_17-Integration_Google_Calendar___Integromat.png

Get Free/Busy Information

Retrieves free/busy information for a set of calendars.

ConnectionEstablish a connection to your Google Calendar.
Minimum timeEnter the start of the interval for the query. The list of supported date and time formats.
Maximum timeEnter the end of the interval for the query. The list of supported date and time formats.
CalendarsSpecify the list of calendars and/or groups you want to query.

Common Problems

Trigger a specified amount of time before an event

It is possible to trigger a scenario a specified amount of time before an event with the help of standard Google Calendar email reminders and the Webhooks > Custom mailhook module.

  1. Employ the Google Calendar > Update an event module to add an email reminder to your event:
    mceclip0.png
  2. Create a new scenario starting with the Webhooks > Custom mailhook module. Copy the mailhook's email address. Save the scenario and execute it.
  3. In Gmail, redirect the Google Calendar email reminders to the mailhook's email address:
    1. Open your Gmail settings.
    2. Open the Forwarding and POP/IMAP tab.
    3. Press the "Add a forwarding address" button:
    4. Paste the copied mailhook's email address, press "Next", confirm by pressing "Proceed" in the popup window and close the dialog by pressing "OK".
    5. In Integromat, switch to the new scenario which should finish its execution by receiving the confirmation email.
    6. Click the bubble above the module to inspect the module's output.
    7. Expand the Text item and search for the Confirmation code:
      mceclip1.png
    8. Copy the Confirmation code.
    9. In Gmail, paste the Confirmation code in the edit box and press "Verify":
    10. Open the Filters and Blocked Addresses tab.
    11. Click the "Create a new filter" link:
    12. Set up a filter for all emails coming from calendar-notification@google.com and press "Create a filter":
    13. Tick the "Forward it to:" checkbox and choose the mailhook's email address from the list:
    14. Press "Create filter" to create the filter.
  4. In Integromat, you may add Text parser > Match pattern module after the Webhooks > Custom mailhook module to parse the email's HTML code to obtain any information you need. You may, for example, configure a module like this to obtain the event's ID:
    Pattern:<meta itemprop="eventId/googleCalendar" content="(?<evenitID>.*?)"/>
    Text: The HTML content item outputted from the Webhooks > Custom mailhook module:

Where are the Iterate attachments and Iterate attendees modules?

Both modules are deprecated. To iterate desired values, please use the Flow Control > Iterator module.

Change Log

last update: 2020-07-10

New Modules:
Calendar:
List Calendars
Get a Calendar
Update a Calendar
Delete a Calendar
Clear a Calendar
Get Free/Busy Information


Access Control Rule:
List Access Control Rules
Get an Access Control Rule
Create an Access Control Rule
Update an Access Control Rule
Delete an Access Control Rule
Get Free/Busy Information


Events:
Search Events
 Updated Modules:
    
Events:
Create an Event 
- Option to add an Event Quickly
- Option to add an Event in Detail

 Deprecated Modules:
    
Events:
Watch Events (instant) 

Iterators:
Iterate Attendees      
Iterate Attachments

Popular use cases from our blog

automated-data-collection-crm-illustration

How to Automate Data Collection - Part 5: CRM Systems

automated-data-collection-chatbot-marketing-illustration

How to Automate Data Collection - Part 4: Chatbot Marketing

automated-data-collection-paid-ads-illustration

How to Automate Data Collection - Part 3: Paid Ads

automated-data-collection-email-illustration

How to Automate Data Collection - Part 2: Email Marketing Segmentation

personalized-customer-experience-illustration-integromat

5 Automated Solutions to Personalize Customer Experience

data-collection-automation-forms-pt-1

How to Automate Data Collection - Part 1: Online Forms

Didn’t find what you were looking for?

Expert

Find an expert

We feature a network of 450+ certified partners across the globe who are ready to help

Find an expert

Automate any workflow in your business

Sign up for a free account today. No credit card required, no time limits on free plan.