Skip to main content

Google Calendar Connector

Google Calendar Google Calendar is a time-management and scheduling calendar service developed by Google. This component allows you to create, read, update and delete events and calendars connected to your Google account.

Connections

Google Calendar OAuth 2.0

Authenticate requests to Google Calendar using values obtained from the Google Cloud Platform.

The Google Calendar component authenticates requests through the Google Cloud Platform (GCP) OAuth 2.0 service. A GCP OAuth 2.0 app is required for the integration to authenticate and perform Google Calendar tasks on behalf of users.

Prerequisites

Setup Steps

To create a Google Calendar OAuth 2.0 app:

  1. Open the Google Calendar API console at https://console.cloud.google.com/apis/api/calendar-json.googleapis.com
  2. Click CREATE PROJECT to create a new GCP project, or select an existing project.
  3. Enable the Google Calendar API for the project by clicking ENABLE.
  4. On the sidebar, select Credentials.
  5. Configure the OAuth 2.0 Consent Screen (the page that asks "Do you want to allow (Your Company) to access Google Calendar on your behalf?"). Click CONFIGURE CONSENT SCREEN.
    1. Choose a User Type of External so the app will be available to customers.
    2. Fill out the OAuth consent screen with an app name (company or product name), support email, app logo, domain, etc.
    3. Domains can be ignored for now.
    4. On the next page, add the scope https://www.googleapis.com/auth/calendar.
    5. Enter some test users for testing purposes. The app will only work for those testing users until it is "verified" by Google. When ready for verification (Google verifies privacy policy statement, etc), click PUBLISH APP on the OAuth consent screen. This will allow customers to authorize the integration to access their Google Calendar.
  6. Once the "Consent Screen" is configured, open the Credentials page from the sidebar again.
  7. Click +CREATE CREDENTIALS and select OAuth client ID.
    1. Under Application type select Web application.
    2. Under Authorized redirect URIs enter the OAuth 2.0 callback URL: https://oauth2.integrations.acme.com/callback
    3. Click CREATE.
  8. Copy the Client ID and Client Secret that are generated.
Publishing the OAuth App

Make sure to publish the OAuth 2.0 app after testing so users outside of the test users can authorize the integration to interact with Google Calendar on their behalf.

Configure the Connection

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
ScopesSpace-delimited list of OAuth 2.0 scopes. See Google Calendar API scopes for available options.https://www.googleapis.com/auth/calendar
Client IDClient ID from your Google Cloud Platform OAuth 2.0 credentials.
Client SecretClient Secret from your Google Cloud Platform OAuth 2.0 credentials.

Triggers

Calendar Change Events

Receive change notifications for a Google Calendar. Automatically creates and manages a Google Calendar push notification subscription when the instance is deployed, and removes the subscription when the instance is deleted.

InputCommentsDefault
ConnectionThe Google Calendar connection to use.
Calendar IDThe calendar to monitor for changes.

New and Updated Events

Checks for new and updated calendar events on a configured schedule.

InputCommentsDefault
ConnectionThe Google Calendar connection to use.
Calendar IDThe calendar to poll for event changes.

Actions

Create Calendar

Create a new calendar

InputCommentsDefault
SummaryThe title or summary of the event.
DescriptionA detailed description of the event.
Time ZoneThe timezone of the event in IANA Time Zone Database format. See IANA timezone list.
ConnectionThe Google Calendar connection to use.

Create Event

Create a new event in a given calendar

InputCommentsDefault
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.
SummaryThe title or summary of the event.
DescriptionA detailed description of the event.
Time ZoneThe timezone of the event in IANA Time Zone Database format. See IANA timezone list.
Start TimeThe start time of the event in ISO 8601 format with timezone offset.
End TimeThe end time of the event in ISO 8601 format with timezone offset.
Event LocationThe physical or virtual location of the event.
AttendeesArray of attendee objects with email addresses and optional flags. See Google Calendar Events API for full schema.
[
{
"email": "john.doe@example.com",
"optional": false
},
{
"email": "jane.smith@example.com",
"optional": true
}
]
Remind MethodHow to send the event reminder. Only used when 'Default Reminder' is false.
Default ReminderWhen true, the event uses the default reminder settings from the calendar.false
Remind Before (minutes)Number of minutes before the event to send the reminder. Only used when 'Default Reminder' is false.
Add Conference EventWhen true, creates a Google Meet conference link for the event.false
ConnectionThe Google Calendar connection to use.
Send UpdatesWhether to send notifications about the creation of the new event. Note that some emails might still be sent. The default is false.

Delete Calendar

Delete an existing calendar by Id

InputCommentsDefault
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.
ConnectionThe Google Calendar connection to use.

Delete Event

Delete an event by an Id

InputCommentsDefault
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.
Event IDThe unique identifier of the event.
ConnectionThe Google Calendar connection to use.
Send UpdatesGuests who should receive notifications about the deletion of the event.

Get Calendar

Get the information and metadata of a calendar by Id

InputCommentsDefault
ConnectionThe Google Calendar connection to use.
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.

Get Event

Get the information and metadata of an event by Id

InputCommentsDefault
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.
Event IDThe unique identifier of the event.
ConnectionThe Google Calendar connection to use.

List Calendars

List all calendars

InputCommentsDefault
Page TokenPagination token returned from a previous request to retrieve the next page of results.
Max ResultsMaximum number of results to return (1-250).
ConnectionThe Google Calendar connection to use.
Fetch AllWhen true, fetches all pages of results, ignoring the 'Max Results' and 'Page Token' inputs.false

List Events

List all events in a given calendar

InputCommentsDefault
ConnectionThe Google Calendar connection to use.
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.
Fetch AllWhen true, fetches all pages of results, ignoring the 'Max Results' and 'Page Token' inputs.false
Max ResultsMaximum number of results to return (1-250).
Page TokenPagination token returned from a previous request to retrieve the next page of results.
Sync TokenToken for retrieving only resources modified since the last sync request.
Max AttendeesMaximum number of attendees to include in the response. If there are more attendees, only the participant is returned.
Order ByThe order of events returned in the result. Default is an unspecified, stable order.
QueryFree text search terms to find events matching in summary, description, location, or attendee fields.
Show DeletedWhen true, includes deleted events in the response.false
Show Hidden InvitationsWhen true, includes hidden invitations in the response.false
Single EventsWhen true, expands recurring events into instances and returns only single one-off events and instances, not the underlying recurring events.false
Time MinLower bound for filtering events by end time. Must be in ISO 8601 format with timezone offset.
Time MaxUpper bound for filtering events by start time. Must be in ISO 8601 format with timezone offset.
Updated MinLower bound for filtering by last modification time (RFC 3339 format). Deleted entries since this time are always included regardless of 'Show Deleted' setting.
Time ZoneTime zone used in the response.

Raw Request

Send raw HTTP request to Google Calendar

InputCommentsDefault
ConnectionThe Google Calendar connection to use.
URLInput the path only (/colors), The base URL is already included (https://www.googleapis.com/calendar/v3). For example, to connect to https://www.googleapis.com/calendar/v3/colors, only /colors is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Update Event

Update the information and metadata of an existing event

InputCommentsDefault
Calendar IDThe unique identifier of the calendar. Use 'primary' for the user's primary calendar.
Event IDThe unique identifier of the event.
SummaryThe title or summary of the event.
DescriptionA detailed description of the event.
Time ZoneThe timezone of the event in IANA Time Zone Database format. See IANA timezone list.
Start TimeThe start time of the event in ISO 8601 format with timezone offset.
End TimeThe end time of the event in ISO 8601 format with timezone offset.
Event LocationThe physical or virtual location of the event.
AttendeesArray of attendee objects with email addresses and optional flags. See Google Calendar Events API for full schema.
[
{
"email": "john.doe@example.com",
"optional": false
},
{
"email": "jane.smith@example.com",
"optional": true
}
]
Default ReminderWhen true, the event uses the default reminder settings from the calendar.false
Remind MethodHow to send the event reminder. Only used when 'Default Reminder' is false.
Remind Before (minutes)Number of minutes before the event to send the reminder. Only used when 'Default Reminder' is false.
ConnectionThe Google Calendar connection to use.
Send UpdatesGuests who should receive notifications about the event update (for example, title changes, etc.).