Skip to main content

List Events

Controlled node

Overview

Fetches calendar events from Google Calendar within a specified time range. Use the date/time pickers to select the time range. Returns an array of events with details including summary, start, end, attendees, and other event metadata.

Connection Required

This node requires a Google Calendar connection to be configured in the properties panel. The connection determines which Google account's calendars are accessed.

Inputs

InputTypeDescriptionDefault
RunEventFires when the node starts running-
Time MinDateTimeThe start of the time range to query (inclusive). Use the date/time picker to select.-
Time MaxDateTimeThe end of the time range to query (exclusive). Use the date/time picker to select.-
Time ZoneTimeZoneThe timezone to use for the query.System default timezone
Max ResultsNumberMaximum number of events to return (1-2500).100
QueryTextFree text search query to filter events (e.g., "meeting", "lunch"). Matches against event summaries, descriptions, and locations.-
Calendar IDTextThe calendar ID to query. Use 'primary' for the user's primary calendar, or specify a different calendar ID (e.g., an email address for shared calendars).primary
ConnectionsConnectionThe Google Calendar connection to use for this operation.-

Outputs

OutputTypeDescription
EventsDataAn array of event objects containing details such as summary, description, start/end times, attendees, location, and event ID. Returns an empty array if no events are found.
DoneEventFires when the node has finished fetching events.

Runtime Behavior and Defaults

  • Time Range: If Time Min and Time Max are not provided, the node will return events without time restrictions (subject to API limits). When provided, the node automatically formats datetime inputs to RFC3339 format required by the Google Calendar API.
  • Timezone Handling: The node converts local times to UTC (appending 'Z' suffix) for the API query. The specified timezone helps determine the boundary times.
  • Default Calendar: If no Calendar ID is specified, it defaults to 'primary' (the user's main calendar).
  • Max Results: Limited to 100 events by default. You can increase this up to 2500, but be aware of API rate limits and performance considerations.
  • Error Handling: If the API returns an error (e.g., invalid calendar ID, authentication failure), the Events output will contain an error object with an error property containing the message.

Example Usage

Basic Event Listing

Connect a Start node to the Run input to fetch the next 100 events from the primary calendar:

[Start] -> [List Events]

To find all events containing "Team Meeting" in the next 7 days:

  1. Set Time Min to the current datetime
  2. Set Time Max to 7 days from now
  3. Set Query to "Team Meeting"
  4. Set Max Results to 50

Accessing a Shared Calendar

To access a shared or secondary calendar instead of the primary calendar:

  1. Set Calendar ID to the email address or ID of the shared calendar (e.g., company-calendar@example.com or abc123xyz@group.calendar.google.com)

Processing Results

Connect the Events output to a For Each node to iterate through each event:

[List Events] --(Events)--> [For Each]

Each event object in the array contains properties such as:

  • id: The unique event ID
  • summary: Event title
  • start/end: Objects containing dateTime (ISO string) and timeZone
  • attendees: Array of attendee objects with email, displayName, and responseStatus
  • location: Location string
  • description: Event description
  • organizer: Object with email and displayName
  • recurringEventId: If this is an instance of a recurring event, the ID of the master event