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.
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
| Input | Type | Description | Default |
|---|---|---|---|
| Run | Event | Fires when the node starts running | - |
| Time Min | DateTime | The start of the time range to query (inclusive). Use the date/time picker to select. | - |
| Time Max | DateTime | The end of the time range to query (exclusive). Use the date/time picker to select. | - |
| Time Zone | TimeZone | The timezone to use for the query. | System default timezone |
| Max Results | Number | Maximum number of events to return (1-2500). | 100 |
| Query | Text | Free text search query to filter events (e.g., "meeting", "lunch"). Matches against event summaries, descriptions, and locations. | - |
| Calendar ID | Text | The 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 |
| Connections | Connection | The Google Calendar connection to use for this operation. | - |
Outputs
| Output | Type | Description |
|---|---|---|
| Events | Data | An 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. |
| Done | Event | Fires when the node has finished fetching events. |
Runtime Behavior and Defaults
- Time Range: If
Time MinandTime Maxare 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
Eventsoutput will contain an error object with anerrorproperty 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]
Filtered Event Search
To find all events containing "Team Meeting" in the next 7 days:
- Set Time Min to the current datetime
- Set Time Max to 7 days from now
- Set Query to "Team Meeting"
- Set Max Results to 50
Accessing a Shared Calendar
To access a shared or secondary calendar instead of the primary calendar:
- Set Calendar ID to the email address or ID of the shared calendar (e.g.,
company-calendar@example.comorabc123xyz@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 IDsummary: Event titlestart/end: Objects containingdateTime(ISO string) andtimeZoneattendees: Array of attendee objects withemail,displayName, andresponseStatuslocation: Location stringdescription: Event descriptionorganizer: Object withemailanddisplayNamerecurringEventId: If this is an instance of a recurring event, the ID of the master event