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:
Log in to your Make account, add a Google Calendar module to your scenario, and click Create a connection.
Optional: In the Connection name field, enter a name for the connection.
Click the Sign in with Google button and select your Google account.
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 | |
Minimum access role | Select the minimum access role for the user in the returned entries.
|
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 | |
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 | |
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 | |
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 | |
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:
|
Triggers when an event is created, updated, deleted, started, or ended in the selected calendar.
Connection | |
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 |
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 | |
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.
|
Limit | Set the maximum number of events Make will return during one execution cycle. |
Retrieves event details.
Connection | |
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 | |||||
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, 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.
| ||||
Attendees | Add attendees to the event.
| ||||
Show me as | Select your status. | ||||
Visibility | Set the visibility of the event.
| ||||
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. CautionThe 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. NoteDTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the | ||||
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. NoteFor adding Google Drive file attachments, use the same format as in |
Duplicates an event.
Connection | |||||
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
| ||||
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 | |
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 | |
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 | |
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 | |
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 | |
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.
|
Type | Select the type of scope.
The permissions granted to the |
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 | |
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.
|
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 | |
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 | |
URL | Enter a path relative to For example For the list of available endpoints, refer to the Google Calendar API Documentation. |
Method | Select the HTTP method you want to use:
|
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

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

Retrieves free/busy information for a set of calendars.
Connection | |
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.
Use the Google Calendar > Update an event module to add an email reminder to your event:
Create a new scenario starting with the Webhooks > Custom mailhook module. Copy the mailhook's email address. Save the scenario and execute it.
In Gmail, redirect the Google Calendar email reminders to the mailhook's email address:
Open your Gmail settings.
Open the Forwarding and POP/IMAP tab.
Click Add a forwarding address:
Paste the copied mailhook's email address, press "Next", confirm by pressing "Proceed" in the popup window and close the dialog by pressing "OK".
In Make, switch to the new scenario which should finish its execution by receiving the confirmation email.
Click the bubble above the module to inspect the module's output.
Expand the
Text
item and search for the Confirmation code:Copy the Confirmation code.
In Gmail, paste the Confirmation code in the edit box and click Verify:
Open the Filters and Blocked Addresses tab.
Click Create a new filter:
Set up a filter for all emails coming from
[email protected]
and click Create filter:Tick the "Forward it to:" checkbox and choose the mailhook's email address from the list:
Click Create filter
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:
Where are the Iterate attachments and Iterate attendees modules?
Both modules are deprecated. To iterate desired values, please use the Flow Control > Iterator module.