> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# List Events

> List Google Calendar events in chronological order.

The **List Events** action retrieves events from one Google Calendar. Narrow the
results by time range and free-text query, then process the returned events as a
list or repeat over them one at a time.

## Quick start

<Steps>
  <Step title="Connect Google Calendar">
    Choose an account that can read the calendar.
  </Step>

  <Step title="Set the search">
    Optionally provide **Starting At**, **Ending At**, or **Query**. Leave both
    dates empty when you do not want a time bound.
  </Step>

  <Step title="Choose the calendar">
    Leave **Calendar ID** empty for the primary calendar. Set **Max Results**
    between `1` and `250`; it defaults to `50`.
  </Step>

  <Step title="Use the events">
    Connect the entire **Events** list or repeat downstream actions for each
    event.
  </Step>
</Steps>

## Inputs

| Input                   | Type            | Required | Description                                                   |
| ----------------------- | --------------- | -------- | ------------------------------------------------------------- |
| **Third-party account** | Google account  | Yes      | Account used to read events.                                  |
| **Starting At**         | Date            | No       | Earliest event time to include.                               |
| **Ending At**           | Date            | No       | Latest event time to include.                                 |
| **Calendar ID**         | String          | No       | Calendar to list. Defaults to `primary`.                      |
| **Max Results**         | Number          | No       | Maximum returned events, from `1` to `250`. Defaults to `50`. |
| **Query**               | String          | No       | Free-text terms passed to Google Calendar search.             |
| **Timezone**            | Timezone string | Yes      | Timezone supplied with the Calendar request.                  |

## Outputs

**Events** is a list ordered by start time. Recurring events are expanded into
individual occurrences.

| Event field      | Type    | Description                                                 |
| ---------------- | ------- | ----------------------------------------------------------- |
| **ID**           | String  | Unique event identifier.                                    |
| **Summary**      | String  | Event title.                                                |
| **Description**  | String  | Event description, when present.                            |
| **Location**     | String  | Event location, when present.                               |
| **Start**        | Date    | Event start.                                                |
| **End**          | Date    | Event end.                                                  |
| **Is All Day?**  | Boolean | Whether the event has a date rather than a date-time start. |
| **Status**       | String  | Status such as `confirmed`, `tentative`, or `cancelled`.    |
| **Event Link**   | String  | Link to the event in Google Calendar.                       |
| **Meeting Link** | String  | Google Meet or Hangout link, when present.                  |
| **Creator**      | String  | Creator email address, when available.                      |
| **Organizer**    | String  | Organizer email address, when available.                    |

<Note>
  This action returns one page of results only. If more events match than **Max
  Results**, later matches are not included.
</Note>

## Example: prepare a daily agenda

Set **Starting At** and **Ending At** to the beginning and end of the day, then
repeat over **Events**. Format each event's **Summary**, **Start**, and
**Meeting Link** into an agenda before sending the completed message.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Expected events are missing">
    Verify the date boundaries, Calendar ID, Query, and **Max Results**. The
    query uses Google Calendar's free-text search and can narrow the result set.
  </Accordion>

  <Accordion title="A recurring event appears more than once">
    Recurring series are expanded into their individual occurrences so each
    scheduled instance can be processed separately.
  </Accordion>
</AccordionGroup>
