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
Name | Label | Type | Description | Required |
---|---|---|---|---|
clientId | Client Id | STRING | true | |
clientSecret | Client Secret | STRING | true |
Actions
Add Attendees to Event
Name: addAttendeesToEvent
Invites one or more person to an existing event.
Properties
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
eventId | Event ID | STRING Depends OncalendarId | ID of the event to add attendees to. | true |
attendees | Attendees | ARRAY 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
Name | Type | Description |
---|---|---|
iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems. |
id | STRING | Identifier of the event. |
summary | STRING | Title of the event. |
startTime | DATE_TIME | Start time of the event. |
endTime | DATE_TIME | End time of the event. |
etag | STRING | ETag of the resource. |
eventType | STRING | Specific type of the event. |
htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
status | STRING | Status of the event. |
location | STRING | Geographic location of the event as free-form text. |
hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
attendees | ARRAY 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. |
attachments | ARRAY Items[{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
reminders | OBJECT 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
summary | Title | STRING | Title of the event. | false |
allDay | All Day Event? | BOOLEAN Optionstrue, false | true | |
start | Start Date | DATE | The start date of the event. | true |
end | End Date | DATE | The end date of the event. | true |
start | Start Date Time | DATE_TIME | The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. | true |
end | End Date Time | DATE_TIME | The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. | true |
description | Description | STRING | Description of the event. Can contain HTML. | false |
location | Location | STRING | Geographic location of the event as free-form text. | false |
attachments | Attachments | ARRAY Items[FILE_ENTRY] | false | |
attendees | Attendees | ARRAY Items[STRING] | The attendees of the event. | false |
guestsCanInviteOthers | Guest Can Invite Others | BOOLEAN Optionstrue, false | Whether attendees other than the organizer can invite others to the event. | false |
guestsCanModify | Guest Can Modify | BOOLEAN Optionstrue, false | Whether attendees other than the organizer can modify the event. | false |
guestsCanSeeOtherGuests | Guest Can See Other Guests | BOOLEAN Optionstrue, false | Whether attendees other than the organizer can see who the event’s attendees are. | false |
sendUpdates | Send Updates | STRING Optionsall, externalOnly, none | Whether to send notifications about the creation of the new event. Note that some emails might still be sent. | false |
useDefault | Use Default Reminders | BOOLEAN Optionstrue, false | Whether the default reminders of the calendar apply to the event. | true |
reminders | Reminders | ARRAY 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
Name | Type | Description |
---|---|---|
iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems. |
id | STRING | Identifier of the event. |
summary | STRING | Title of the event. |
startTime | DATE_TIME | Start time of the event. |
endTime | DATE_TIME | End time of the event. |
etag | STRING | ETag of the resource. |
eventType | STRING | Specific type of the event. |
htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
status | STRING | Status of the event. |
location | STRING | Geographic location of the event as free-form text. |
hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
attendees | ARRAY 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. |
attachments | ARRAY Items[{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
reminders | OBJECT 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
text | Text | STRING | The text describing the event to be created. | true |
sendUpdates | Send Updates | STRING Optionsall, 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
Name | Type | Description |
---|---|---|
iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems. |
id | STRING | Identifier of the event. |
summary | STRING | Title of the event. |
startTime | DATE_TIME | Start time of the event. |
endTime | DATE_TIME | End time of the event. |
etag | STRING | ETag of the resource. |
eventType | STRING | Specific type of the event. |
htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
status | STRING | Status of the event. |
location | STRING | Geographic location of the event as free-form text. |
hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
attendees | ARRAY 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. |
attachments | ARRAY Items[{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
reminders | OBJECT 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
eventId | Event ID | STRING Depends OncalendarId | 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
eventType | Event Type | ARRAY Items[STRING] | Event types to return. | false |
maxResults | Max Results | INTEGER | Maximum 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 |
q | Search Terms | STRING | Free 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.label | false |
dateRange | Date Range | OBJECT 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
Name | Type | Description |
---|---|---|
iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems. |
id | STRING | Identifier of the event. |
summary | STRING | Title of the event. |
startTime | DATE_TIME | Start time of the event. |
endTime | DATE_TIME | End time of the event. |
etag | STRING | ETag of the resource. |
eventType | STRING | Specific type of the event. |
htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
status | STRING | Status of the event. |
location | STRING | Geographic location of the event as free-form text. |
hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
attendees | ARRAY 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. |
attachments | ARRAY Items[{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
reminders | OBJECT 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
dateRange | Date Range | OBJECT 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
Name | Type | Description |
---|---|---|
startTime | DATE_TIME | Start time of the free time slot. |
endTime | DATE_TIME | End 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true | |
eventId | Event ID | STRING Depends OncalendarId | ID of the event to update. | true |
summary | Title | STRING | New title of the event. | false |
allDay | All Day Event? | BOOLEAN Optionstrue, false | false | |
start | Start Date | DATE | New start date of the event. | true |
end | End Date | DATE | New end date of the event. | true |
start | Start Date Time | DATE_TIME | New (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. | true |
end | End Date Time | DATE_TIME | New (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. | true |
description | Description | STRING | New description of the event. Can contain HTML. | false |
attendees | Attendees | ARRAY 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
Name | Type | Description |
---|---|---|
iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems. |
id | STRING | Identifier of the event. |
summary | STRING | Title of the event. |
startTime | DATE_TIME | Start time of the event. |
endTime | DATE_TIME | End time of the event. |
etag | STRING | ETag of the resource. |
eventType | STRING | Specific type of the event. |
htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
status | STRING | Status of the event. |
location | STRING | Geographic location of the event as free-form text. |
hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
attendees | ARRAY 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. |
attachments | ARRAY Items[{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
reminders | OBJECT 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
Name | Label | Type | Description | Required |
---|---|---|---|---|
calendarId | Calendar Identifier | STRING | true |
Output
Type: OBJECT
Properties
Name | Type | Description |
---|---|---|
iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems. |
id | STRING | Identifier of the event. |
summary | STRING | Title of the event. |
startTime | DATE_TIME | Start time of the event. |
endTime | DATE_TIME | End time of the event. |
etag | STRING | ETag of the resource. |
eventType | STRING | Specific type of the event. |
htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
status | STRING | Status of the event. |
location | STRING | Geographic location of the event as free-form text. |
hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
attendees | ARRAY 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. |
attachments | ARRAY Items[{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
reminders | OBJECT 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
Connection Setup
Create OAuth 2.0 Application
- Go to the Google Cloud Console.
- Click on the project dropdown in the top navigation bar.
- Click New Project.
- Enter a project name and click Create.
- Click on the project dropdown again.
- Select the project you just created.
- Go to the APIs & Services.
- Go to the OAuth consent screen.
- Click Get Started.
- Enter an App name and add user support email. Click Next.
- Select your Audience and click Next.
- Add email addresses and click Next.
- Agree to the terms and click Create.
- Go to Data Access.
- Click on Add or Remove Scopes.
- Select all necessary scopes.
- Click Update.
- Click Save.
- Go to the Clients.
- Click on Create Client.
- Click on application type dropdown.
- Choose Web application as the application type.
- Click on Add Uri.
- Enter a redirect URI, e.g.,
https://app.bytechef.io/callback
,http://127.0.0.1:5173/callback
. Click Create. - Click on the client you just created.
- Copy the Client ID and Client Secret. Use these credentials to create a connection in ByteChef.
Enable Google Calendar API
- In the Google Cloud Console, select your project.
- Go to the APIs & Services.
- Click on ENABLE APIS AND SERVICES.
- Search for “calendar” in the search bar.
- Click on Google Calendar API.
- Click Enable.