New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksGoogle Workspace
Block

Google Calendar Block

Manage Google Calendar events

The Google Calendar block integrates Google Calendar into your workflow so you can create, read, update, and list calendar events using OAuth authentication. Reach for it to automate scheduling, check availability, manage attendees, and send invitations as part of an automated flow. Email invitations are sent asynchronously and delivery depends on recipients' Google Calendar settings.

Overview

PropertyValue
Typegoogle_calendar
Categorytools
Color#E0E0E0

When to Use

  • Create calendar events with a title, description, location, start/end times, and attendees.
  • List events within a time window to check availability or build a schedule digest.
  • Get the full details of a specific event by its ID.
  • Add an event quickly from natural language (e.g. "Meeting with John tomorrow at 3pm for 1 hour").
  • Invite additional attendees to an existing event, optionally replacing the current attendee list.
  • Control whether email notifications go to all attendees, external attendees only, or no one.

Configuration

Operation

Choose what the block does. The selected operation controls which fields are shown below.

LabelID
Create Eventcreate
List Eventslist
Get Eventget
Quick Add (Natural Language)quick_add
Invite Attendeesinvite

Google Calendar Account

Required OAuth credential connecting the Google Calendar account used for the request (scope https://www.googleapis.com/auth/calendar). Select an account from the OAuth picker.

Calendar

In basic mode, use the file-selector to pick a calendar from your account. In advanced mode, type a Calendar ID directly (e.g. primary or calendar@gmail.com). Maps to the calendarId input in basic mode and manualCalendarId in advanced mode. Defaults to primary at runtime if neither is provided.

Event Title (summary) — Create only

Required. The title/summary of the new event (e.g. Meeting with team).

Description (description) — Create only

Optional. A longer description for the event body.

Location (location) — Create only

Optional. The physical or virtual location of the event (e.g. Conference Room A).

Start Date & Time (startDateTime) — Create only

Required. Event start in RFC3339 format, e.g. 2025-10-28T14:00:00-08:00 or 2025-10-28T22:00:00Z.

End Date & Time (endDateTime) — Create only

Required. Event end in RFC3339 format, e.g. 2025-10-28T15:00:00-08:00 or 2025-10-28T23:00:00Z.

Attendees (attendees) — Create, Quick Add, Invite

A comma-separated list of email addresses, e.g. john@example.com, jane@example.com. The block converts this to an array before sending to the API. Required for Quick Add.

Start Time Filter (timeMin) — List only

Optional. Lower bound for events to return (RFC3339 timestamp). Events starting before this time are excluded.

End Time Filter (timeMax) — List only

Optional. Upper bound for events to return (RFC3339 timestamp). Events starting after this time are excluded.

Event ID (eventId) — Get and Invite only

Required for both Get and Invite. The unique ID of the calendar event to fetch or update.

Natural Language Event (text) — Quick Add only

Required. A plain-English description of the event, e.g. Meeting with John tomorrow at 3pm for 1 hour. Google Calendar's NLP parses the time and title automatically.

Replace Existing Attendees (replaceExisting) — Invite only

Controls whether new attendees are merged with or replace the current attendee list.

LabelID
Add to existing attendeesfalse
Replace all attendeestrue

Send Email Notifications (sendUpdates) — Create, Quick Add, Invite only

Controls how Google Calendar delivers email invitations to attendees. Defaults to all if not set.

LabelID
All attendees (recommended)all
External attendees onlyexternalOnly
None (no emails sent)none

Inputs & Outputs

  • Inputs:

    • operation (string) — Operation to perform (create, list, get, quick_add, invite)
    • credential (string) — Google Calendar OAuth access token
    • calendarId (string) — Calendar identifier (from selector, basic mode)
    • manualCalendarId (string) — Manual calendar identifier (advanced mode)
    • summary (string) — Event title (Create)
    • description (string) — Event description (Create)
    • location (string) — Event location (Create)
    • startDateTime (string) — Event start time in RFC3339 format (Create)
    • endDateTime (string) — Event end time in RFC3339 format (Create)
    • attendees (string) — Comma-separated attendee email list (Create, Quick Add, Invite)
    • timeMin (string) — Start time filter in RFC3339 format (List)
    • timeMax (string) — End time filter in RFC3339 format (List)
    • eventId (string) — Event identifier (Get, Invite)
    • text (string) — Natural language event description (Quick Add)
    • replaceExisting (string) — Whether to replace existing attendees: "true" or "false" (Invite)
    • sendUpdates (string) — Email notification mode: all, externalOnly, or none (Create, Quick Add, Invite)
  • Outputs:

    • content (string) — Human-readable operation result message (e.g. confirmation of creation, count of events found)
    • metadata (json) — Full event details: id, htmlLink, status, summary, description, location, start, end, attendees, creator, organizer (for List: also events array, nextPageToken, nextSyncToken, timeZone)

Tools

  • Google Calendar Create Event (google_calendar_create) — Creates a new event on the specified calendar. Accepts title, description, location, RFC3339 start/end times, optional timezone, attendee emails, and notification preference.
  • Google Calendar List Events (google_calendar_list) — Returns all events in a calendar, optionally bounded by timeMin and timeMax RFC3339 timestamps. Response includes an events array with pagination tokens.
  • Google Calendar Get Event (google_calendar_get) — Fetches a single event by its ID from the specified calendar, returning full event details.
  • Google Calendar Quick Add (google_calendar_quick_add) — Creates an event from a natural-language string using Google Calendar's NLP. Optionally patches attendees onto the created event immediately after.
  • Google Calendar Invite Attendees (google_calendar_invite) — Adds or replaces attendees on an existing event identified by eventId. Fetches the current event first, merges or replaces the attendee list, then PUTs the full event back to preserve all other fields.

YAML Example

google_calendar_1:
  type: google_calendar
  name: "Google Calendar"
  inputs:
    operation: "create"
    credential: "{{credentials.google-calendar}}"
    calendarId: "primary"
    summary: "Meeting with team"
    startDateTime: "2025-10-28T14:00:00-08:00"
    endDateTime: "2025-10-28T15:00:00-08:00"
    attendees: "john@example.com, jane@example.com"
    sendUpdates: "all"
  connections:
    outgoing:
      - target: next-block-id