Skip to main content

Google Calendar

Siesta AI - Google Calendar allows you to create and read events in Google Calendar through the official Google Calendar API. The agent setup and method of delegated access are the same as for Gmail integration, so the same screens and procedures (OAuth, access assignment, sharing) can be used.

Quick Connection

To create a connection, simply click on Add Connection, select Google Calendar, and the page will automatically redirect to Google login. After logging in, the account is linked.

Add Connection

Agent Configuration

How to Connect (OAuth, like Gmail)

  1. Add Connection -> select GoogleCalendar.
    Select Connection

  2. Google OAuth Login (access to Calendar).
    Google Login

  3. Confirm Integration Name (internal name).
    Confirm Integration Name

  4. Consent to Permissions (Calendar scopes analogous to Gmail).
    Google Consent Screen

Connection Overview

  • Connection Name: GoogleCalendar
  • Type: Google Calendar API (REST)
  • Authentication: Google OAuth (user delegated access) - details according to internal configuration (beyond the scope of this document)
  • Scope/operations: CreateEventAsync, ListEventsAsync

General Principles

3.1 Time Formats

DateTime parameters use ISO 8601. Recommendation: use explicit time zone (Z for UTC or offset +01:00, +02:00).
Example: 2025-06-21T14:00:00Z

3.2 Default Calendar

If calendarId is not specified, the user's default calendar will be used: primary.

3.3 Recurring Events

Listing events supports the singleEvents option, which determines whether the recurrence is expanded into individual instances.

Detailed API Operations

4.1 CreateEventAsync

Description: Creates an event in the user's Google calendar (under their Google/Gmail account).

ParameterTypeRequiredDescription
summaryStringYesTitle / subject of the event
startTimeDateTimeYesStart of the event (ISO 8601)
endTimeDateTimeYesEnd of the event (ISO 8601)
descriptionStringNoDescription of the event
locationStringNoLocation of the event
sendNotificationsBoolNoWhether to send notifications to participants/user

Validation Notes

  • endTime must be strictly after startTime.
  • Recommendation: use a consistent time zone for both times.

4.2 ListEventsAsync

Description: Returns a list of events from the user's calendar within the specified time range.

ParameterTypeRequiredDescription
calendarIdStringNoCalendar ID (default: primary)
timeMinDateTimeNoStart time for listing (inclusive)
timeMaxDateTimeNoEnd time for listing (exclusive)
maxResultsIntNoMaximum number of events (default: 250)
singleEventsBoolNoExpand recurrences into instances (default: true)

Recommended Usage

  • For stable results, always set timeMin and timeMax.
  • If processing recurring meetings in analytics, leave singleEvents=true.

Security and Governance

  • Operations run in the context of the user (delegated access via OAuth).
  • The connection only works with calendar data within the granted permissions.
  • Recommendation: audit and log at least calendarId, time window (timeMin/timeMax) for listing, and parameters summary/startTime/endTime for created events.