Skip to main content

Google Calendar

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

To get started with Google Calendar, create an account at accounts.google.com.

Note

Make's use and transfer of information received from Google APIs to any other app will adhere to Google API Services User Data Policy.

Connect Google Calendar to Make

To establish the connection:

  1. Log in to your Make account, add a Google Calendar module to your scenario, and click Create a connection.

  2. Optional: In the Connection name field, enter a name for the connection.

  3. Click the Sign in with Google button and select your Google account.

  4. Review the access information and click Allow.

You have successfully established the connection. You can now edit your scenario and add more Google Calendar modules. If your connection requires reauthorization at any point, follow the connection renewal steps here.

Calendar

Retrieve the calendars of the authenticated user.

Connection

Establish a connection to your Google Calendar account.

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 calendars

Enable this option to return also hidden entries.

Limit

Set the maximum number of calendars Make will return during one execution cycle.

Returns details of the specified calendar.

Connection

Establish a connection to your Google Calendar.

Calendar ID

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

Creates a new calendar in your Google account.

Connection

Establish a connection to your Google Calendar account.

Calendar name

Enter a name for the new calendar.

Description

Enter a description of the calendar.

Time Zone

Select the calendar's time zone.

Updates a calendar title of the specified calendar.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the ID of the calendar you want to rename.

Calendar name

Enter a new title for the calendar.

Deletes an existing calendar.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the ID of the calendar you want to rename.

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

Event

Triggers when an event occurs in Google Calendar.

Webhook name

Enter a name for the webhook.

Event Types

Select the events you want to watch:

  • Event Updated

  • Event Created

  • Event Deleted

  • Event Reminded

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

Connection

Establish a connection to your Google Calendar account.

Calendar

Select the calendar you want to watch for events.

Watch events

Select the change in date that triggers the module.

Show deleted events

Enable this option to include deleted events (with status equals "canceled") in the result.

Query

Filter the result by events that match the search term in any field, except for extended properties.

Limit

Set the maximum number of events Make will return during one execution cycle.

Searches for events in the selected calendar.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select the calendar you want to watch for events.

Start date

Enter the start date of the date range you want to filter results by. See the list of supported date and time formats.

End date

Enter the end date of the date range you want to filter results by. See the list of supported date and time formats.

Single events

Enable 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.

Query

Enter 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).

Limit

Set the maximum number of events Make will return during one execution cycle.

Retrieves event details.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

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

Event ID

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

Creates a new event.

Connection

Establish a connection to your Google Calendar account.

Create an event

Select whether you want to quickly add the event or specify more details of the event.

Calendar ID

Select or map the Calendar ID you want to create an event for.

Color

Select 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. For example, 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 add event is created starting from the current time for an hour.

All day event

Enable this option if the event is an all-day event.

Start date

Enter the date, in the format "yyyy-mm-dd", if this is an all-day event. The list of supported date and time formats.

End date

Enter the date, in the format "yyyy-mm-dd", if this is an all-day event. The list of supported date and time formats.

Duration

Enter the duration of the event in the HH:mm format.

Description

Enter a description of the event. Supports HTML.

Location

Specify the geographic location of the event as free-form text.

Use the default reminder settings for this event

Enable this option to apply default calendar reminders to this event.

Reminders

Set the event reminders.

Method

Select the method used by this reminder.

  • Email - Reminders are sent via email.

  • Popup - Reminders are sent via a UI popup.

Minutes

The 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 to the event.

Name

Enter the attendee's name.

Email

Enter the attendee's email address.

Show me as

Select your status.

Visibility

Set 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 details are visible to all calendar readers.

  • private - The event is private; only event attendees can 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.

Caution

The None option should only be used for migration use cases.

Guests can modify the event

Enable 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

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.

Add Google Meet Video Conferencing

Select whether to add Google Meet video conferencing to this event.

Attachments

Enter the URL of the file you want to attach.

Note

For adding Google Drive file attachments, use the same format as in alternateLink property of the Files resource in the Drive API.

Duplicates an event.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the Calendar ID whose event you want to duplicate.

Event ID

Select or map the Event ID you want to delete.

Attendees

Enter the attendee's details

Name

Enter the attendee's name.

Email

Enter the attendee's email address.

Append the Attendees

Select whether to append the attendees.

Start Date

Enter the starting date and time of the event. See the list of supported date and time formats.

End Date

Enter the closing date and time of the event. See the list of supported date and time formats.

All Day Event

Select whether the event is an all-day event.

Updates an existing event.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the ID of the calendar that contains the event you want to update.

Event ID

Select 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.

Deletes a specified event.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the Calendar ID that contains the event you want to delete.

Event ID

Select or map the ID of the event you want to delete.

Send notifications about the event deletion

Guests who you think should receive notifications about the deletion of the event.

Access Control Rule

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

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the calendar ID whose ACLs you want to retrieve.

Limit

Set the maximum number of ACLs Make will return during one execution cycle.

Retrieves access control rule details.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the ID of the calendar that contains the access control rule you want to retrieve.

Access control rule ID

Select or map the ID of the access control rule you want to retrieve.

Creates an access control rule.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the Calendar ID you want to create an access control rule at.

Role

Select 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.

Type

Select 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.

Value

Enter the email address of a user or a group, or the name of a domain, depending on the scope type.

Updates an existing access control rule.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the ID of the calendar that contains the access control rule you want to update.

Access control rule ID

Select 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 notifications

Enable this option to send notifications about the calendar sharing change. Note that there are no notifications on access removal.

Deletes an existing access control rule.

Connection

Establish a connection to your Google Calendar account.

Calendar ID

Select or map the ID of the calendar that contains the access control rule you want to delete.

Access control rule ID

Select or map the ID of the access control rule you want to delete.

Other

Allows you to perform a custom API call.

Connection

Establish 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.

Headers

Enter the desired request headers. You don't have to add authorization headers; we already did that for you.

Query string

Enter the request query string.

Body

Enter the body content for your API call.

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

URL:

/v3/users/me/calendarList

Method:

GET

googleCalenderAPICall.png

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

googleCalenderAPIOutput.png

Retrieves free/busy information for a set of calendars.

Connection

Establish a connection to your Google Calendar.

Minimum time

Enter the start of the interval for the query. The list of supported date and time formats.

Maximum time

Enter the end of the interval for the query. The list of supported date and time formats.

Calendars

Specify the list of calendars and/or groups you want to query.

Common Problems

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. Use the Google Calendar > Update an event module to add an email reminder to your event:

    googleCalenderReminder.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. Click Add a forwarding address:

      googleCalendarGmailForward.png
    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 Make, 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:

      googleCalendarConfCode.png
    8. Copy the Confirmation code.

    9. In Gmail, paste the Confirmation code in the edit box and click Verify:

      googleCalendarVerify.png
    10. Open the Filters and Blocked Addresses tab.

    11. Click Create a new filter:

      GoogleCalendarCreateFilter.png
    12. Set up a filter for all emails coming from [email protected] and click Create filter:

      googleCalendarFIlter.png
    13. Tick the "Forward it to:" checkbox and choose the mailhook's email address from the list:

      googleCalendarForwardAddress.png
    14. Click Create filter

  4. In Make, 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:

    googleCalendarTextParser.png

Where are the Iterate attachments and Iterate attendees modules?

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