Skip to content

Google Calendar

Google Calendar is a web-based application that allows users to schedule and organize events, appointments, and reminders, synchronizing across multiple devices.

Categories: calendars-and-scheduling

Type: googleCalendar/v1


Connections

Version: 1

OAuth2 Authorization Code

Properties

NameLabelTypeDescriptionRequired
clientIdClient IdSTRINGtrue
clientSecretClient SecretSTRINGtrue

Actions

Add Attendees to Event

Name: addAttendeesToEvent

Invites one or more person to an existing event.

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
eventIdEvent IDSTRING
Depends On calendarId
ID of the event to add attendees to.true
attendeesAttendeesARRAY
Items [STRING]
The attendees of the event.true

Example JSON Structure

{
"label" : "Add Attendees to Event",
"name" : "addAttendeesToEvent",
"parameters" : {
"calendarId" : "",
"eventId" : "",
"attendees" : [ "" ]
},
"type" : "googleCalendar/v1/addAttendeesToEvent"
}

Output

Type: OBJECT

Properties

NameTypeDescription
iCalUIDSTRINGEvent unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems.
idSTRINGIdentifier of the event.
summarySTRINGTitle of the event.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
etagSTRINGETag of the resource.
eventTypeSTRINGSpecific type of the event.
htmlLinkSTRINGAn absolute link to this event in the Google Calendar Web UI.
statusSTRINGStatus of the event.
locationSTRINGGeographic location of the event as free-form text.
hangoutLinkSTRINGAn absolute link to the Google Hangout associated with this event.
attendeesARRAY
Items [{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}]
The attendees of the event.
attachmentsARRAY
Items [{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}]
File attachments for the event.
remindersOBJECT
Properties {[{STRING(method), INTEGER(minutes)}](overrides), BOOLEAN(useDefault)}
Information about the event’s reminders for the authenticated user.

Output Example

{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}

Create Event

Name: createEvent

Creates an event

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
summaryTitleSTRINGTitle of the event.false
allDayAll Day Event?BOOLEAN
Options true, false
true
startStart DateDATEThe start date of the event.true
endEnd DateDATEThe end date of the event.true
startStart Date TimeDATE_TIMEThe (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.true
endEnd Date TimeDATE_TIMEThe (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.true
descriptionDescriptionSTRINGDescription of the event. Can contain HTML.false
locationLocationSTRINGGeographic location of the event as free-form text.false
attachmentsAttachmentsARRAY
Items [FILE_ENTRY]
false
attendeesAttendeesARRAY
Items [STRING]
The attendees of the event.false
guestsCanInviteOthersGuest Can Invite OthersBOOLEAN
Options true, false
Whether attendees other than the organizer can invite others to the event.false
guestsCanModifyGuest Can ModifyBOOLEAN
Options true, false
Whether attendees other than the organizer can modify the event.false
guestsCanSeeOtherGuestsGuest Can See Other GuestsBOOLEAN
Options true, false
Whether attendees other than the organizer can see who the event’s attendees are.false
sendUpdatesSend UpdatesSTRING
Options all, externalOnly, none
Whether to send notifications about the creation of the new event. Note that some emails might still be sent.false
useDefaultUse Default RemindersBOOLEAN
Options true, false
Whether the default reminders of the calendar apply to the event.true
remindersRemindersARRAY
Items [{STRING(method), INTEGER(minutes)}]
false

Example JSON Structure

{
"label" : "Create Event",
"name" : "createEvent",
"parameters" : {
"calendarId" : "",
"summary" : "",
"allDay" : false,
"start" : "2021-01-01T00:00:00",
"end" : "2021-01-01T00:00:00",
"description" : "",
"location" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"attendees" : [ "" ],
"guestsCanInviteOthers" : false,
"guestsCanModify" : false,
"guestsCanSeeOtherGuests" : false,
"sendUpdates" : "",
"useDefault" : false,
"reminders" : [ {
"method" : "",
"minutes" : 1
} ]
},
"type" : "googleCalendar/v1/createEvent"
}

Output

Type: OBJECT

Properties

NameTypeDescription
iCalUIDSTRINGEvent unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems.
idSTRINGIdentifier of the event.
summarySTRINGTitle of the event.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
etagSTRINGETag of the resource.
eventTypeSTRINGSpecific type of the event.
htmlLinkSTRINGAn absolute link to this event in the Google Calendar Web UI.
statusSTRINGStatus of the event.
locationSTRINGGeographic location of the event as free-form text.
hangoutLinkSTRINGAn absolute link to the Google Hangout associated with this event.
attendeesARRAY
Items [{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}]
The attendees of the event.
attachmentsARRAY
Items [{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}]
File attachments for the event.
remindersOBJECT
Properties {[{STRING(method), INTEGER(minutes)}](overrides), BOOLEAN(useDefault)}
Information about the event’s reminders for the authenticated user.

Output Example

{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}

Create Quick Event

Name: createQuickEvent

Add Quick Calendar Event

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
textTextSTRINGThe text describing the event to be created.true
sendUpdatesSend UpdatesSTRING
Options all, externalOnly, none
Whether to send notifications about the creation of the new event. Note that some emails might still be sent.false

Example JSON Structure

{
"label" : "Create Quick Event",
"name" : "createQuickEvent",
"parameters" : {
"calendarId" : "",
"text" : "",
"sendUpdates" : ""
},
"type" : "googleCalendar/v1/createQuickEvent"
}

Output

Type: OBJECT

Properties

NameTypeDescription
iCalUIDSTRINGEvent unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems.
idSTRINGIdentifier of the event.
summarySTRINGTitle of the event.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
etagSTRINGETag of the resource.
eventTypeSTRINGSpecific type of the event.
htmlLinkSTRINGAn absolute link to this event in the Google Calendar Web UI.
statusSTRINGStatus of the event.
locationSTRINGGeographic location of the event as free-form text.
hangoutLinkSTRINGAn absolute link to the Google Hangout associated with this event.
attendeesARRAY
Items [{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}]
The attendees of the event.
attachmentsARRAY
Items [{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}]
File attachments for the event.
remindersOBJECT
Properties {[{STRING(method), INTEGER(minutes)}](overrides), BOOLEAN(useDefault)}
Information about the event’s reminders for the authenticated user.

Output Example

{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}

Delete Event

Name: deleteEvent

Deletes an event from Google Calendar.

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
eventIdEvent IDSTRING
Depends On calendarId
ID of the event to delete.true

Example JSON Structure

{
"label" : "Delete Event",
"name" : "deleteEvent",
"parameters" : {
"calendarId" : "",
"eventId" : ""
},
"type" : "googleCalendar/v1/deleteEvent"
}

Output

This action does not produce any output.

Get Events

Name: getEvents

List events from the specified Google Calendar.

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
eventTypeEvent TypeARRAY
Items [STRING]
Event types to return.false
maxResultsMax ResultsINTEGERMaximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response.false
qSearch TermsSTRINGFree text search terms to find events that match these terms in the following fields: summary, description, location, attendee’s displayName, attendee’s email, workingLocationProperties.officeLocation.buildingId, workingLocationProperties.officeLocation.deskId, workingLocationProperties.officeLocation.label and workingLocationProperties.customLocation.labelfalse
dateRangeDate RangeOBJECT
Properties {DATE_TIME(from), DATE_TIME(to)}
Date range to find events that exist in this range.false

Example JSON Structure

{
"label" : "Get Events",
"name" : "getEvents",
"parameters" : {
"calendarId" : "",
"eventType" : [ "" ],
"maxResults" : 1,
"q" : "",
"dateRange" : {
"from" : "2021-01-01T00:00:00",
"to" : "2021-01-01T00:00:00"
}
},
"type" : "googleCalendar/v1/getEvents"
}

Output

Type: ARRAY

Items Type: OBJECT

Properties

NameTypeDescription
iCalUIDSTRINGEvent unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems.
idSTRINGIdentifier of the event.
summarySTRINGTitle of the event.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
etagSTRINGETag of the resource.
eventTypeSTRINGSpecific type of the event.
htmlLinkSTRINGAn absolute link to this event in the Google Calendar Web UI.
statusSTRINGStatus of the event.
locationSTRINGGeographic location of the event as free-form text.
hangoutLinkSTRINGAn absolute link to the Google Hangout associated with this event.
attendeesARRAY
Items [{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}]
The attendees of the event.
attachmentsARRAY
Items [{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}]
File attachments for the event.
remindersOBJECT
Properties {[{STRING(method), INTEGER(minutes)}](overrides), BOOLEAN(useDefault)}
Information about the event’s reminders for the authenticated user.

Output Example

[ {
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
} ]

Get Free Time Slots

Name: getFreeTimeSlots

Get free time slots from Google Calendar.

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
dateRangeDate RangeOBJECT
Properties {DATE_TIME(from), DATE_TIME(to)}
Date range to find free time.true

Example JSON Structure

{
"label" : "Get Free Time Slots",
"name" : "getFreeTimeSlots",
"parameters" : {
"calendarId" : "",
"dateRange" : {
"from" : "2021-01-01T00:00:00",
"to" : "2021-01-01T00:00:00"
}
},
"type" : "googleCalendar/v1/getFreeTimeSlots"
}

Output

Type: ARRAY

Items Type: OBJECT

Properties

NameTypeDescription
startTimeDATE_TIMEStart time of the free time slot.
endTimeDATE_TIMEEnd time of the free time slot.

Output Example

[ {
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00"
} ]

Update Event

Name: updateEvent

Updates event in Google Calendar.

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue
eventIdEvent IDSTRING
Depends On calendarId
ID of the event to update.true
summaryTitleSTRINGNew title of the event.false
allDayAll Day Event?BOOLEAN
Options true, false
false
startStart DateDATENew start date of the event.true
endEnd DateDATENew end date of the event.true
startStart Date TimeDATE_TIMENew (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.true
endEnd Date TimeDATE_TIMENew (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.true
descriptionDescriptionSTRINGNew description of the event. Can contain HTML.false
attendeesAttendeesARRAY
Items [STRING]
New attendees of the event.false

Example JSON Structure

{
"label" : "Update Event",
"name" : "updateEvent",
"parameters" : {
"calendarId" : "",
"eventId" : "",
"summary" : "",
"allDay" : false,
"start" : "2021-01-01T00:00:00",
"end" : "2021-01-01T00:00:00",
"description" : "",
"attendees" : [ "" ]
},
"type" : "googleCalendar/v1/updateEvent"
}

Output

Type: OBJECT

Properties

NameTypeDescription
iCalUIDSTRINGEvent unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems.
idSTRINGIdentifier of the event.
summarySTRINGTitle of the event.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
etagSTRINGETag of the resource.
eventTypeSTRINGSpecific type of the event.
htmlLinkSTRINGAn absolute link to this event in the Google Calendar Web UI.
statusSTRINGStatus of the event.
locationSTRINGGeographic location of the event as free-form text.
hangoutLinkSTRINGAn absolute link to the Google Hangout associated with this event.
attendeesARRAY
Items [{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}]
The attendees of the event.
attachmentsARRAY
Items [{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}]
File attachments for the event.
remindersOBJECT
Properties {[{STRING(method), INTEGER(minutes)}](overrides), BOOLEAN(useDefault)}
Information about the event’s reminders for the authenticated user.

Output Example

{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}

Triggers

New or Updated Event

Name: newOrUpdatedEvent

Triggers when an event is added or updated

Type: DYNAMIC_WEBHOOK

Properties

NameLabelTypeDescriptionRequired
calendarIdCalendar IdentifierSTRINGtrue

Output

Type: OBJECT

Properties

NameTypeDescription
iCalUIDSTRINGEvent unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems.
idSTRINGIdentifier of the event.
summarySTRINGTitle of the event.
startTimeDATE_TIMEStart time of the event.
endTimeDATE_TIMEEnd time of the event.
etagSTRINGETag of the resource.
eventTypeSTRINGSpecific type of the event.
htmlLinkSTRINGAn absolute link to this event in the Google Calendar Web UI.
statusSTRINGStatus of the event.
locationSTRINGGeographic location of the event as free-form text.
hangoutLinkSTRINGAn absolute link to the Google Hangout associated with this event.
attendeesARRAY
Items [{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}]
The attendees of the event.
attachmentsARRAY
Items [{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}]
File attachments for the event.
remindersOBJECT
Properties {[{STRING(method), INTEGER(minutes)}](overrides), BOOLEAN(useDefault)}
Information about the event’s reminders for the authenticated user.

JSON Example

{
"label" : "New or Updated Event",
"name" : "newOrUpdatedEvent",
"parameters" : {
"calendarId" : ""
},
"type" : "googleCalendar/v1/newOrUpdatedEvent"
}


Additional instructions


anl-c-google-calendar-md

Connection Setup

Create OAuth 2.0 Application

  1. Go to the Google Cloud Console.
  2. Click on the project dropdown in the top navigation bar.
  3. Click New Project.
  4. Enter a project name and click Create.
  5. Click on the project dropdown again.
  6. Select the project you just created.
  7. Go to the APIs & Services.
  8. Go to the OAuth consent screen.
  9. Click Get Started.
  10. Enter an App name and add user support email. Click Next.
  11. Select your Audience and click Next.
  12. Add email addresses and click Next.
  13. Agree to the terms and click Create.
  14. Go to Data Access.
  15. Click on Add or Remove Scopes.
  16. Select all necessary scopes.
  17. Click Update.
  18. Click Save.
  19. Go to the Clients.
  20. Click on Create Client.
  21. Click on application type dropdown.
  22. Choose Web application as the application type.
  23. Click on Add Uri.
  24. Enter a redirect URI, e.g., https://app.bytechef.io/callback, http://127.0.0.1:5173/callback. Click Create.
  25. Click on the client you just created.
  26. Copy the Client ID and Client Secret. Use these credentials to create a connection in ByteChef.

Enable Google Calendar API

  1. In the Google Cloud Console, select your project.
  2. Go to the APIs & Services.
  3. Click on ENABLE APIS AND SERVICES.
  4. Search for “calendar” in the search bar.
  5. Click on Google Calendar API.
  6. Click Enable.