googlecalendar.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.
Calendar
getAvailability
calendar.getAvailability
Get free/busy availability for a calendar
Risk: read
await corsair.googlecalendar.api.calendar.getAvailability({});
| Name | Type | Required | Description |
|---|---|---|---|
timeMin | string | Yes | — |
timeMax | string | Yes | — |
timeZone | string | No | — |
groupExpansionMax | number | No | — |
calendarExpansionMax | number | No | — |
items | object[] | No | — |
items full type
items full type
{
id: string
}[]
| Name | Type | Required | Description |
|---|---|---|---|
kind | string | No | — |
calendars | object | No | — |
groups | object | No | — |
timeMin | string | No | — |
timeMax | string | No | — |
calendars full type
calendars full type
{
}
groups full type
groups full type
{
}
Events
create
events.create
Create a new calendar event
Risk: write
await corsair.googlecalendar.api.events.create({});
| Name | Type | Required | Description |
|---|---|---|---|
calendarId | string | No | Calendar ID. Defaults to “primary”. |
event | object | Yes | Event body. Provide at minimum “summary”, “start”, and “end”. |
sendUpdates | all | externalOnly | none | No | — |
sendNotifications | boolean | No | — |
conferenceDataVersion | number | No | — |
maxAttendees | number | No | — |
supportsAttachments | boolean | No | — |
event full type
event full type
{
summary?: string,
description?: string,
location?: string,
start?: {
date?: string,
dateTime?: string,
timeZone?: string
},
end?: {
date?: string,
dateTime?: string,
timeZone?: string
},
attendees?: {
id?: string,
email?: string,
displayName?: string,
organizer?: boolean,
self?: boolean,
resource?: boolean,
optional?: boolean,
responseStatus?: needsAction | declined | tentative | accepted,
comment?: string,
additionalGuests?: number
}[],
recurrence?: string[],
colorId?: string,
transparency?: opaque | transparent,
visibility?: default | public | private | confidential,
eventType?: default | outOfOffice | focusTime | workingLocation | birthday | fromGmail,
status?: confirmed | tentative | cancelled,
reminders?: {
useDefault?: boolean,
overrides?: {
method?: email | popup,
minutes?: number
}[]
},
guestsCanModify?: boolean,
guestsCanInviteOthers?: boolean,
guestsCanSeeOtherGuests?: boolean,
anyoneCanAddSelf?: boolean,
sequence?: number,
originalStartTime?: {
date?: string,
dateTime?: string,
timeZone?: string
},
recurringEventId?: string
}
| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | — |
status | confirmed | tentative | cancelled | No | — |
htmlLink | string | No | — |
created | string | No | — |
updated | string | No | — |
summary | string | No | — |
description | string | No | — |
location | string | No | — |
colorId | string | No | — |
creator | object | No | — |
organizer | object | No | — |
start | object | No | — |
end | object | No | — |
endTimeUnspecified | boolean | No | — |
recurrence | string[] | No | — |
recurringEventId | string | No | — |
originalStartTime | object | No | — |
transparency | opaque | transparent | No | — |
visibility | default | public | private | confidential | No | — |
iCalUID | string | No | — |
sequence | number | No | — |
attendees | object[] | No | — |
attendeesOmitted | boolean | No | — |
hangoutLink | string | No | — |
reminders | object | No | — |
anyoneCanAddSelf | boolean | No | — |
guestsCanInviteOthers | boolean | No | — |
guestsCanModify | boolean | No | — |
guestsCanSeeOtherGuests | boolean | No | — |
privateCopy | boolean | No | — |
locked | boolean | No | — |
conferenceData | object | No | — |
attachments | object[] | No | — |
source | object | No | — |
gadget | object | No | — |
eventType | default | outOfOffice | focusTime | workingLocation | birthday | fromGmail | No | — |
creator full type
creator full type
{
id?: string,
email?: string,
displayName?: string,
self?: boolean
}
organizer full type
organizer full type
{
id?: string,
email?: string,
displayName?: string,
self?: boolean
}
start full type
start full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
end full type
end full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
originalStartTime full type
originalStartTime full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
attendees full type
attendees full type
{
id?: string,
email?: string,
displayName?: string,
organizer?: boolean,
self?: boolean,
resource?: boolean,
optional?: boolean,
responseStatus?: needsAction | declined | tentative | accepted,
comment?: string,
additionalGuests?: number
}[]
reminders full type
reminders full type
{
useDefault?: boolean,
overrides?: {
method?: email | popup,
minutes?: number
}[]
}
conferenceData full type
conferenceData full type
{
createRequest?: {
requestId?: string,
conferenceSolutionKey?: {
type?: string
},
status?: {
statusCode?: string
}
},
entryPoints?: {
entryPointType?: string,
uri?: string,
label?: string,
pin?: string,
accessCode?: string,
meetingCode?: string,
passcode?: string,
password?: string
}[],
conferenceSolution?: {
key?: {
type?: string
},
name?: string,
iconUri?: string
},
conferenceId?: string,
signature?: string,
notes?: string
}
attachments full type
attachments full type
{
fileUrl?: string,
title?: string,
mimeType?: string,
iconLink?: string,
fileId?: string
}[]
source full type
source full type
{
url?: string,
title?: string
}
gadget full type
gadget full type
{
type?: string,
title?: string,
link?: string,
iconLink?: string,
width?: number,
height?: number,
display?: string,
preferences?: {
}
}
delete
events.delete
Delete a calendar event [DESTRUCTIVE]
Risk: destructive
await corsair.googlecalendar.api.events.delete({});
| Name | Type | Required | Description |
|---|---|---|---|
calendarId | string | No | — |
id | string | Yes | — |
sendUpdates | all | externalOnly | none | No | — |
sendNotifications | boolean | No | — |
void
get
events.get
Get a specific calendar event
Risk: read
await corsair.googlecalendar.api.events.get({});
| Name | Type | Required | Description |
|---|---|---|---|
calendarId | string | No | — |
id | string | Yes | — |
timeZone | string | No | — |
maxAttendees | number | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | — |
status | confirmed | tentative | cancelled | No | — |
htmlLink | string | No | — |
created | string | No | — |
updated | string | No | — |
summary | string | No | — |
description | string | No | — |
location | string | No | — |
colorId | string | No | — |
creator | object | No | — |
organizer | object | No | — |
start | object | No | — |
end | object | No | — |
endTimeUnspecified | boolean | No | — |
recurrence | string[] | No | — |
recurringEventId | string | No | — |
originalStartTime | object | No | — |
transparency | opaque | transparent | No | — |
visibility | default | public | private | confidential | No | — |
iCalUID | string | No | — |
sequence | number | No | — |
attendees | object[] | No | — |
attendeesOmitted | boolean | No | — |
hangoutLink | string | No | — |
reminders | object | No | — |
anyoneCanAddSelf | boolean | No | — |
guestsCanInviteOthers | boolean | No | — |
guestsCanModify | boolean | No | — |
guestsCanSeeOtherGuests | boolean | No | — |
privateCopy | boolean | No | — |
locked | boolean | No | — |
conferenceData | object | No | — |
attachments | object[] | No | — |
source | object | No | — |
gadget | object | No | — |
eventType | default | outOfOffice | focusTime | workingLocation | birthday | fromGmail | No | — |
creator full type
creator full type
{
id?: string,
email?: string,
displayName?: string,
self?: boolean
}
organizer full type
organizer full type
{
id?: string,
email?: string,
displayName?: string,
self?: boolean
}
start full type
start full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
end full type
end full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
originalStartTime full type
originalStartTime full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
attendees full type
attendees full type
{
id?: string,
email?: string,
displayName?: string,
organizer?: boolean,
self?: boolean,
resource?: boolean,
optional?: boolean,
responseStatus?: needsAction | declined | tentative | accepted,
comment?: string,
additionalGuests?: number
}[]
reminders full type
reminders full type
{
useDefault?: boolean,
overrides?: {
method?: email | popup,
minutes?: number
}[]
}
conferenceData full type
conferenceData full type
{
createRequest?: {
requestId?: string,
conferenceSolutionKey?: {
type?: string
},
status?: {
statusCode?: string
}
},
entryPoints?: {
entryPointType?: string,
uri?: string,
label?: string,
pin?: string,
accessCode?: string,
meetingCode?: string,
passcode?: string,
password?: string
}[],
conferenceSolution?: {
key?: {
type?: string
},
name?: string,
iconUri?: string
},
conferenceId?: string,
signature?: string,
notes?: string
}
attachments full type
attachments full type
{
fileUrl?: string,
title?: string,
mimeType?: string,
iconLink?: string,
fileId?: string
}[]
source full type
source full type
{
url?: string,
title?: string
}
gadget full type
gadget full type
{
type?: string,
title?: string,
link?: string,
iconLink?: string,
width?: number,
height?: number,
display?: string,
preferences?: {
}
}
getMany
events.getMany
List calendar events
Risk: read
await corsair.googlecalendar.api.events.getMany({});
| Name | Type | Required | Description |
|---|---|---|---|
calendarId | string | No | — |
timeMin | string | No | — |
timeMax | string | No | — |
timeZone | string | No | — |
updatedMin | string | No | — |
singleEvents | boolean | No | — |
maxResults | number | No | — |
pageToken | string | No | — |
q | string | No | — |
orderBy | startTime | updated | No | — |
iCalUID | string | No | — |
showDeleted | boolean | No | — |
showHiddenInvitations | boolean | No | — |
| Name | Type | Required | Description |
|---|---|---|---|
kind | string | No | — |
etag | string | No | — |
summary | string | No | — |
description | string | No | — |
updated | string | No | — |
timeZone | string | No | — |
accessRole | string | No | — |
defaultReminders | object[] | No | — |
nextPageToken | string | No | — |
nextSyncToken | string | No | — |
items | object[] | No | — |
defaultReminders full type
defaultReminders full type
{
method?: email | popup,
minutes?: number
}[]
items full type
items full type
{
id?: string,
status?: confirmed | tentative | cancelled,
htmlLink?: string,
created?: string,
updated?: string,
summary?: string,
description?: string,
location?: string,
colorId?: string,
creator?: {
id?: string,
email?: string,
displayName?: string,
self?: boolean
},
organizer?: {
id?: string,
email?: string,
displayName?: string,
self?: boolean
},
start?: {
date?: string,
dateTime?: string,
timeZone?: string
},
end?: {
date?: string,
dateTime?: string,
timeZone?: string
},
endTimeUnspecified?: boolean,
recurrence?: string[],
recurringEventId?: string,
originalStartTime?: {
date?: string,
dateTime?: string,
timeZone?: string
},
transparency?: opaque | transparent,
visibility?: default | public | private | confidential,
iCalUID?: string,
sequence?: number,
attendees?: {
id?: string,
email?: string,
displayName?: string,
organizer?: boolean,
self?: boolean,
resource?: boolean,
optional?: boolean,
responseStatus?: needsAction | declined | tentative | accepted,
comment?: string,
additionalGuests?: number
}[],
attendeesOmitted?: boolean,
hangoutLink?: string,
reminders?: {
useDefault?: boolean,
overrides?: {
method?: email | popup,
minutes?: number
}[]
},
anyoneCanAddSelf?: boolean,
guestsCanInviteOthers?: boolean,
guestsCanModify?: boolean,
guestsCanSeeOtherGuests?: boolean,
privateCopy?: boolean,
locked?: boolean,
conferenceData?: {
createRequest?: {
requestId?: string,
conferenceSolutionKey?: {
type?: string
},
status?: {
statusCode?: string
}
},
entryPoints?: {
entryPointType?: string,
uri?: string,
label?: string,
pin?: string,
accessCode?: string,
meetingCode?: string,
passcode?: string,
password?: string
}[],
conferenceSolution?: {
key?: {
type?: string
},
name?: string,
iconUri?: string
},
conferenceId?: string,
signature?: string,
notes?: string
},
attachments?: {
fileUrl?: string,
title?: string,
mimeType?: string,
iconLink?: string,
fileId?: string
}[],
source?: {
url?: string,
title?: string
},
gadget?: {
type?: string,
title?: string,
link?: string,
iconLink?: string,
width?: number,
height?: number,
display?: string,
preferences?: {
}
},
eventType?: default | outOfOffice | focusTime | workingLocation | birthday | fromGmail
}[]
update
events.update
Update an existing calendar event
Risk: write
await corsair.googlecalendar.api.events.update({});
| Name | Type | Required | Description |
|---|---|---|---|
calendarId | string | No | Calendar ID. Defaults to “primary”. |
id | string | Yes | Event ID to update |
event | object | Yes | Updated event fields |
sendUpdates | all | externalOnly | none | No | — |
sendNotifications | boolean | No | — |
conferenceDataVersion | number | No | — |
maxAttendees | number | No | — |
supportsAttachments | boolean | No | — |
event full type
event full type
{
summary?: string,
description?: string,
location?: string,
start?: {
date?: string,
dateTime?: string,
timeZone?: string
},
end?: {
date?: string,
dateTime?: string,
timeZone?: string
},
attendees?: {
id?: string,
email?: string,
displayName?: string,
organizer?: boolean,
self?: boolean,
resource?: boolean,
optional?: boolean,
responseStatus?: needsAction | declined | tentative | accepted,
comment?: string,
additionalGuests?: number
}[],
recurrence?: string[],
colorId?: string,
transparency?: opaque | transparent,
visibility?: default | public | private | confidential,
eventType?: default | outOfOffice | focusTime | workingLocation | birthday | fromGmail,
status?: confirmed | tentative | cancelled,
reminders?: {
useDefault?: boolean,
overrides?: {
method?: email | popup,
minutes?: number
}[]
},
guestsCanModify?: boolean,
guestsCanInviteOthers?: boolean,
guestsCanSeeOtherGuests?: boolean,
anyoneCanAddSelf?: boolean,
sequence?: number,
originalStartTime?: {
date?: string,
dateTime?: string,
timeZone?: string
},
recurringEventId?: string
}
| Name | Type | Required | Description |
|---|---|---|---|
id | string | No | — |
status | confirmed | tentative | cancelled | No | — |
htmlLink | string | No | — |
created | string | No | — |
updated | string | No | — |
summary | string | No | — |
description | string | No | — |
location | string | No | — |
colorId | string | No | — |
creator | object | No | — |
organizer | object | No | — |
start | object | No | — |
end | object | No | — |
endTimeUnspecified | boolean | No | — |
recurrence | string[] | No | — |
recurringEventId | string | No | — |
originalStartTime | object | No | — |
transparency | opaque | transparent | No | — |
visibility | default | public | private | confidential | No | — |
iCalUID | string | No | — |
sequence | number | No | — |
attendees | object[] | No | — |
attendeesOmitted | boolean | No | — |
hangoutLink | string | No | — |
reminders | object | No | — |
anyoneCanAddSelf | boolean | No | — |
guestsCanInviteOthers | boolean | No | — |
guestsCanModify | boolean | No | — |
guestsCanSeeOtherGuests | boolean | No | — |
privateCopy | boolean | No | — |
locked | boolean | No | — |
conferenceData | object | No | — |
attachments | object[] | No | — |
source | object | No | — |
gadget | object | No | — |
eventType | default | outOfOffice | focusTime | workingLocation | birthday | fromGmail | No | — |
creator full type
creator full type
{
id?: string,
email?: string,
displayName?: string,
self?: boolean
}
organizer full type
organizer full type
{
id?: string,
email?: string,
displayName?: string,
self?: boolean
}
start full type
start full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
end full type
end full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
originalStartTime full type
originalStartTime full type
{
date?: string,
dateTime?: string,
timeZone?: string
}
attendees full type
attendees full type
{
id?: string,
email?: string,
displayName?: string,
organizer?: boolean,
self?: boolean,
resource?: boolean,
optional?: boolean,
responseStatus?: needsAction | declined | tentative | accepted,
comment?: string,
additionalGuests?: number
}[]
reminders full type
reminders full type
{
useDefault?: boolean,
overrides?: {
method?: email | popup,
minutes?: number
}[]
}
conferenceData full type
conferenceData full type
{
createRequest?: {
requestId?: string,
conferenceSolutionKey?: {
type?: string
},
status?: {
statusCode?: string
}
},
entryPoints?: {
entryPointType?: string,
uri?: string,
label?: string,
pin?: string,
accessCode?: string,
meetingCode?: string,
passcode?: string,
password?: string
}[],
conferenceSolution?: {
key?: {
type?: string
},
name?: string,
iconUri?: string
},
conferenceId?: string,
signature?: string,
notes?: string
}
attachments full type
attachments full type
{
fileUrl?: string,
title?: string,
mimeType?: string,
iconLink?: string,
fileId?: string
}[]
source full type
source full type
{
url?: string,
title?: string
}
gadget full type
gadget full type
{
type?: string,
title?: string,
link?: string,
iconLink?: string,
width?: number,
height?: number,
display?: string,
preferences?: {
}
}