Integrations / Google Calendar
Google Calendar
See and manage events in a connected Google Calendar.
3 actions
OAuth 2
1 read1 write1 destructive
Calls www.googleapis.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "googlecalendar" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
https://www.googleapis.com/auth/userinfo.email | See which Google account you connected |
https://www.googleapis.com/auth/calendar.events | View and edit events on your calendars |
Actions
Create eventwritegooglecalendar.create_eventAdd an event to a calendar. Attendees get an invitation when send_updates is all.
Needs scope: https://www.googleapis.com/auth/calendar.events
| Input | Type | Description | |
|---|---|---|---|
calendar_id | string | Required | Use primary for the main calendar |
summary | string | Required | Event title |
description | string | Optional | Details |
location | string | Optional | Where |
start | string | Required | Start, RFC 3339 |
end | string | Required | End, RFC 3339 |
attendees | array of object | Optional | People to invite, as [{email}] |
send_updates | string | Optional |
await setu.execute({
userId: "user_1",
action: "googlecalendar.create_event",
input: {
"calendar_id": "<calendar_id>",
"summary": "<summary>",
"start": "<start>",
"end": "<end>"
},
});Delete eventdestructivegooglecalendar.delete_eventDelete an event from a calendar.
Needs scope: https://www.googleapis.com/auth/calendar.events
| Input | Type | Description | |
|---|---|---|---|
calendar_id | string | Required | Use primary for the main calendar |
event_id | string | Required | Event ID |
await setu.execute({
userId: "user_1",
action: "googlecalendar.delete_event",
input: {
"calendar_id": "<calendar_id>",
"event_id": "<event_id>"
},
confirm: true,
});List eventsreadgooglecalendar.list_eventsList events in a time range, soonest first. Times are RFC 3339, for example 2026-10-20T09:00:00+01:00.
Needs scope: https://www.googleapis.com/auth/calendar.events
| Input | Type | Description | |
|---|---|---|---|
calendar_id | string | Required | Use primary for the main calendar |
time_min | string | Optional | Start of range |
time_max | string | Optional | End of range |
q | string | Optional | Free text search |
max_results | integer | Optional |
await setu.execute({
userId: "user_1",
action: "googlecalendar.list_events",
input: {
"calendar_id": "<calendar_id>"
},
});