Google Calendar

Google Calendar is Google's widely used online calendar and scheduling service, making it easy to organize meetings, events, reminders, and appointments individually or collaboratively. As a key part of Google Workspace, Google Calendar offers robust tools for managing your schedule, sending invitations, setting event reminders, and sharing calendars with others.

Google Calendar supports feature-rich integrations and automation, allowing users and teams to streamline event management and keep their workflows synchronized. Its API enables programmatic creation, modification, and listing of calendar events, empowering agents and automated workflows to interact with your schedule in real time.

Key features of Google Calendar include:

  • Event Scheduling: Create one-time or recurring events with rich details like time, location, and guests.
  • Reminders & Notifications: Automated email and push reminders to ensure you never miss an important event.
  • Sharing & Collaboration: Share calendars with individuals or groups, manage permissions, and coordinate meetings seamlessly.
  • Integration: Connect with Gmail, Meet, Docs, and external tools for a unified productivity experience.
  • Time Zone Support: Schedule meetings across regions with full time zone awareness.
  • Mobile & Multi-Device Access: Access your calendar from web, mobile, and desktop.

In Sim, the Google Calendar integration allows your agents to read, create, update, and list calendar events as part of automated workflows. This enables powerful scenarios such as syncing meeting information, generating reminders, tracking event changes, coordinating team schedules, and much more. By connecting Sim with Google Calendar, your agents can handle scheduling tasks, manage events intelligently, and keep your whole organization on track without manual intervention.

Usage Instructions

Integrate Google Calendar into the workflow. Can create, read, update, and list calendar events.

Actions

google_calendar_create

Create a new event in Google Calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
summarystringYesEvent title/summary
descriptionstringNoEvent description
locationstringNoEvent location
startDateTimestringYesStart time. Use a datetime with timezone offset (2025-06-03T10:00:00-08:00) or a date (2025-06-03) for an all-day event
endDateTimestringYesEnd time. Use a datetime with timezone offset (2025-06-03T11:00:00-08:00) or a date (2025-06-04) for an all-day event
timeZonestringNoIANA time zone (e.g., America/Los_Angeles). Used as-is when provided. For recurring events a time zone is required to expand the recurrence correctly; for one-off events it is only needed when the datetime omits a UTC offset (a naive datetime defaults to America/Los_Angeles).
attendeesarrayNoArray of attendee email addresses
recurrencestringNoRecurrence rule(s) in RFC 5545 format (e.g., RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR). Separate multiple rules with newlines.
addGoogleMeetbooleanNoAttach a Google Meet video conference link to the event
sendUpdatesstringNoHow to send updates to attendees: all, externalOnly, or none

Output

ParameterTypeDescription
idstringEvent ID
htmlLinkstringEvent link
hangoutLinkstringGoogle Meet link
statusstringEvent status
summarystringEvent title
descriptionstringEvent description
locationstringEvent location
recurrencejsonRecurrence rules
startjsonEvent start
endjsonEvent end
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer

google_calendar_list

List events from Google Calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
timeMinstringNoLower bound for events (RFC3339 timestamp, e.g., 2025-06-03T00:00:00Z)
timeMaxstringNoUpper bound for events (RFC3339 timestamp, e.g., 2025-06-04T00:00:00Z)
qstringNoFree-text search across event summary, description, location, attendees, and organizer
maxResultsnumberNoMaximum number of events to return (max 2500)
pageTokenstringNoToken for retrieving the next page of results
orderBystringNoOrder of events: startTime (chronological, the default) or updated (last-modified). startTime is always valid here because singleEvents is set.
showDeletedbooleanNoInclude deleted events

Output

ParameterTypeDescription
nextPageTokenstringNext page token
timeZonestringCalendar time zone
eventsjsonList of events

google_calendar_get

Get a specific event from Google Calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
eventIdstringYesGoogle Calendar event ID to retrieve

Output

ParameterTypeDescription
idstringEvent ID
htmlLinkstringEvent link
statusstringEvent status
summarystringEvent title
descriptionstringEvent description
locationstringEvent location
startjsonEvent start
endjsonEvent end
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer

google_calendar_update

Update an existing event in Google Calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
eventIdstringYesGoogle Calendar event ID to update
summarystringNoNew event title/summary
descriptionstringNoNew event description
locationstringNoNew event location
startDateTimestringNoNew start time. Use a datetime with timezone offset (2025-06-03T10:00:00-08:00) or a date (2025-06-03) for an all-day event
endDateTimestringNoNew end time. Use a datetime with timezone offset (2025-06-03T11:00:00-08:00) or a date (2025-06-04) for an all-day event
timeZonestringNoIANA time zone (e.g., America/Los_Angeles) applied to the start/end times provided in this update. Provide a new start and/or end time to change the time zone; a time zone on its own is not applied. Required for recurring events to expand the recurrence correctly.
attendeesarrayNoArray of attendee email addresses. When one or more emails are provided, they replace the existing attendee list. Leaving this empty keeps the current attendees unchanged (it does not clear them).
recurrencestringNoRecurrence rule(s) in RFC 5545 format (e.g., RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR). Separate multiple rules with newlines. When provided, replaces the event's recurrence; leaving it empty keeps the existing recurrence unchanged. Requires a timeZone for timed events.
addGoogleMeetbooleanNoAttach a Google Meet video conference link to the event
sendUpdatesstringNoHow to send updates to attendees: all, externalOnly, or none

Output

ParameterTypeDescription
idstringEvent ID
htmlLinkstringEvent link
hangoutLinkstringGoogle Meet link
statusstringEvent status
summarystringEvent title
descriptionstringEvent description
locationstringEvent location
recurrencejsonRecurrence rules
startjsonEvent start
endjsonEvent end
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer

google_calendar_delete

Delete an event from Google Calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
eventIdstringYesGoogle Calendar event ID to delete
sendUpdatesstringNoHow to send updates to attendees: all, externalOnly, or none

Output

ParameterTypeDescription
eventIdstringDeleted event ID
deletedbooleanWhether deletion was successful

google_calendar_move

Move an event to a different calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoSource Google Calendar ID (e.g., primary or calendar@group.calendar.google.com)
eventIdstringYesGoogle Calendar event ID to move
destinationCalendarIdstringYesDestination Google Calendar ID
sendUpdatesstringNoHow to send updates to attendees: all, externalOnly, or none

Output

ParameterTypeDescription
idstringEvent ID
htmlLinkstringEvent link
statusstringEvent status
summarystringEvent title
descriptionstringEvent description
locationstringEvent location
startjsonEvent start
endjsonEvent end
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer

google_calendar_instances

Get instances of a recurring event from Google Calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
eventIdstringYesRecurring event ID to get instances of
timeMinstringNoLower bound for instances (RFC3339 timestamp, e.g., 2025-06-03T00:00:00Z)
timeMaxstringNoUpper bound for instances (RFC3339 timestamp, e.g., 2025-06-04T00:00:00Z)
maxResultsnumberNoMaximum number of instances to return (default 250, max 2500)
pageTokenstringNoToken for retrieving subsequent pages of results
showDeletedbooleanNoInclude deleted instances

Output

ParameterTypeDescription
nextPageTokenstringNext page token
timeZonestringCalendar time zone
instancesjsonList of recurring event instances

google_calendar_list_calendars

List all calendars in the user's calendar list. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
minAccessRolestringNoMinimum access role for returned calendars: freeBusyReader, reader, writer, or owner
maxResultsnumberNoMaximum number of calendars to return (default 100, max 250)
pageTokenstringNoToken for retrieving subsequent pages of results
showDeletedbooleanNoInclude deleted calendars
showHiddenbooleanNoInclude hidden calendars

Output

ParameterTypeDescription
nextPageTokenstringNext page token
calendarsarrayList of calendars
idstringCalendar ID
summarystringCalendar title
descriptionstringCalendar description
locationstringCalendar location
timeZonestringCalendar time zone
accessRolestringAccess role for the calendar
backgroundColorstringCalendar background color
foregroundColorstringCalendar foreground color
primarybooleanWhether this is the primary calendar
hiddenbooleanWhether the calendar is hidden
selectedbooleanWhether the calendar is selected

google_calendar_quick_add

Create events from natural language text. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
textstringYesNatural language text describing the event (e.g., "Meeting with John tomorrow at 3pm")
attendeesarrayNoArray of attendee email addresses (comma-separated string also accepted)
sendUpdatesstringNoHow to send updates to attendees: all, externalOnly, or none

Output

ParameterTypeDescription
idstringEvent ID
htmlLinkstringEvent link
statusstringEvent status
summarystringEvent title
descriptionstringEvent description
locationstringEvent location
startjsonEvent start
endjsonEvent end
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer

google_calendar_invite

Invite attendees to an existing Google Calendar event. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoGoogle Calendar ID (e.g., primary or calendar@group.calendar.google.com)
eventIdstringYesGoogle Calendar event ID to invite attendees to
attendeesarrayYesArray of attendee email addresses to invite
sendUpdatesstringNoHow to send updates to attendees: all, externalOnly, or none (defaults to all)
replaceExistingbooleanNoWhether to replace existing attendees or add to them (defaults to false)

Output

ParameterTypeDescription
idstringEvent ID
htmlLinkstringEvent link
statusstringEvent status
summarystringEvent title
descriptionstringEvent description
locationstringEvent location
startjsonEvent start
endjsonEvent end
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer

google_calendar_freebusy

Query free/busy information for one or more Google Calendars. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdsstringYesComma-separated calendar IDs to query (e.g., "primary,other@example.com")
timeMinstringYesStart of the time range (RFC3339 timestamp, e.g., 2025-06-03T00:00:00Z)
timeMaxstringYesEnd of the time range (RFC3339 timestamp, e.g., 2025-06-04T00:00:00Z)
timeZonestringNoIANA time zone (e.g., "UTC", "America/New_York"). Defaults to UTC.

Output

ParameterTypeDescription
timeMinstringStart of the queried time range
timeMaxstringEnd of the queried time range
calendarsjsonPer-calendar free/busy data with busy periods and any errors

google_calendar_create_calendar

Create a new secondary calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
summarystringYesTitle of the new calendar
descriptionstringNoDescription of the new calendar
locationstringNoGeographic location of the calendar as free-form text
timeZonestringNoTime zone of the calendar as an IANA name (e.g., America/Los_Angeles)

Output

ParameterTypeDescription
idstringCalendar ID
summarystringCalendar title
descriptionstringCalendar description
locationstringCalendar location
timeZonestringCalendar time zone

google_calendar_share_calendar

Grant a user, group, or domain access to a calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoCalendar ID to share (e.g., primary or calendar@group.calendar.google.com)
rolestringYesAccess role to grant: freeBusyReader, reader, writer, or owner
scopeTypestringYesType of grantee: user, group, domain, or default (public)
scopeValuestringNoEmail (user/group), domain name (domain), or empty for default. Required unless scope type is default.
sendNotificationsbooleanNoWhether to send a notification email about the change. Defaults to true.

Output

ParameterTypeDescription
idstringACL rule ID
rolestringGranted access role
scopejsonGrantee scope (type and value)

google_calendar_list_acl

List the access control rules (sharing) for a calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoCalendar ID to inspect (e.g., primary or calendar@group.calendar.google.com)
maxResultsnumberNoMaximum number of ACL rules to return
pageTokenstringNoToken for retrieving subsequent pages of results
showDeletedbooleanNoInclude deleted ACL rules (with role "none")

Output

ParameterTypeDescription
nextPageTokenstringNext page token
rulesarrayList of ACL rules
idstringACL rule ID
rolestringAccess role
scopejsonGrantee scope (type and value)

google_calendar_unshare_calendar

Revoke an access control rule (sharing) from a calendar. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
calendarIdstringNoCalendar ID to modify (e.g., primary or calendar@group.calendar.google.com)
ruleIdstringYesACL rule ID to remove (e.g., user:person@example.com)

Output

ParameterTypeDescription
ruleIdstringRemoved ACL rule ID
deletedbooleanWhether removal was successful

Triggers

A Trigger is a block that starts a workflow when an event happens in this service.

These run on a schedule (polling-based) — they check for new data rather than receiving push notifications.

Google Calendar Event Trigger

Triggers when events are created, updated, or cancelled in Google Calendar

Configuration

ParameterTypeRequiredDescription
triggerCredentialsstringYesConnect your Google account to access Google Calendar.
calendarIdfile-selectorNoThe calendar to monitor for event changes.
manualCalendarIdstringNoThe calendar to monitor for event changes.
eventTypeFilterstringNoOnly trigger for specific event types. Defaults to all events.
searchTermstringNoOptional: Filter events by text match across title, description, location, and attendees.

Output

ParameterTypeDescription
eventobjectevent output from the tool
idstringCalendar event ID
statusstringEvent status (confirmed, tentative, cancelled)
eventTypestringChange type: "created", "updated", or "cancelled"
summarystringEvent title
eventDescriptionstringEvent description
locationstringEvent location
htmlLinkstringLink to event in Google Calendar
startjsonEvent start time
endjsonEvent end time
createdstringEvent creation time
updatedstringEvent last updated time
attendeesjsonEvent attendees
creatorjsonEvent creator
organizerjsonEvent organizer
calendarIdstringCalendar ID
timestampstringEvent processing timestamp in ISO format

On this page