Google Calendar icon

Google Calendar

Google calendar service for events, invitations, reminders, availability, attendees, and shared schedules.

Works well for scheduling meetings, managing attendees, checking calendar details, and responding to newly created, ended, or canceled events.

Example Use Cases

These are the Google Calendar actions Snow can use when building apps with you. Connecting an account does not make Snow run these on its own.

Create a calendar

Creates a new, empty Google Calendar with the specified title (summary). Newly created calendars default to UTC timezone; use GOOGLECALENDAR_PATCH_CALENDAR afterward to set the desired timeZone if needed.

Create ACL Rule

Creates an access control rule for a calendar. Use when you need to grant sharing permissions to a user, group, or domain.

Create Event

Create a Google Calendar event using start_datetime plus duration fields. The organizer is added as an attendee unless exclude_organizer is True. By default adds Google Meet link (works for Workspace, gracefully falls back for personal Gmail). Attendees can be email strings (required) or objects with email and optional fields. No conflict checking is performed; use GOOGLECALENDAR_FREE_BUSY_QUERY to detect overlaps before creating. Returns event id and htmlLink nested under data.response_data. Example: { "start_datetime": "2025-01-16T13:00:00", "timezone": "America/New_York", "event_duration_hour": 1, "event_duration_minutes": 30, "summary": "Client sync", "attendees":

Delete ACL Rule

Deletes an access control rule from a Google Calendar. Use when you need to remove sharing permissions for a user, group, or domain.

Delete Calendar

Deletes a secondary calendar that you own or have delete permissions on. Deletion is permanent and irreversible — verify the correct calendar_id before calling. You cannot delete your primary calendar or calendars you only have read/write access to. Use calendarList.list to find calendars with owner accessRole. For primary calendars, use calendars.clear instead. Parallel calls may trigger userRateLimitExceeded; sequence bulk deletions.

Delete event

Deletes a specified event by `event_id` from a Google Calendar (`calendar_id`); idempotent — a 404 for an already-deleted event is a no-op. Bulk deletions may trigger `rateLimitExceeded` or `userRateLimitExceeded`; cap concurrency to 5–10 requests and apply exponential backoff.

Find event

Finds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types. Ensure `timeMin` is not chronologically after `timeMax` if both are provided. Results may span multiple pages; always follow `nextPageToken` until absent to avoid silently missing events. Validate the correct match from results by checking summary, start.dateTime, and organizer.email before using event_id for mutations. An empty `items` array means no events matched — widen filters rather than treating it as an error.

Get ACL Rule

Retrieves a specific access control rule for a calendar. Use when you need to check permissions for a specific user, group, or domain.

Get Event

Retrieves a SINGLE event by its unique event_id (REQUIRED). This action does NOT list or search events - it fetches ONE specific event when you already know its ID. If you want to list events within a time range, search for events, or filter by criteria like time_min/time_max, use GOOGLECALENDAR_EVENTS_LIST instead.

Get Event Instances

Returns instances of the specified recurring event. Use timeMin/timeMax to constrain the window; omitting bounds can return large result sets and is quota-heavy. On high-volume calls, 403 rateLimitExceeded or 429 too_many_requests may occur; apply exponential backoff (1s, 2s, 4s) before retrying.

Triggers

These are the trigger events currently available for Google Calendar.

Attendee Response Changed

Polling trigger that fires when any attendee's RSVP changes to accepted, declined, or tentative. Returns attendee info and current status.

Calendar Event Changes

SOON TO BE DEPRECATED - Use Calendar Event Sync (polling trigger) instead. Real-time webhook trigger for calendar event changes. Returns event metadata only. For full event data, use Calendar Event Sync (polling trigger).

Calendar Event Sync

Polling trigger that returns full event data including details, attendees, and metadata. For real-time notifications with basic info, use Calendar Event Changes (webhook).

Event Canceled or Deleted

Triggers when a Google Calendar event is cancelled or deleted. Returns minimal data: event_id, summary (if available), and cancellation timestamp.

Event Created

Polling trigger that fires when a new calendar event is created. Returns event ID, summary, start/end times, and organizer info.

Event Starting Soon

Triggers when a calendar event is within a configured number of minutes from starting. Returns event details, time remaining, attendees, and join links when available.

Event Updated

Triggers when an existing Google Calendar event is modified. Returns the event ID, change type, and the specific fields that changed with their previous and new values.