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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# List bookings

> Lists bookings visible to the connected Cal.com account.

`calcom.listBookings` lists bookings visible to the connected Cal.com account.

```ts automations/list-bookings.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { calcom } from "automate.ax/calcom"

export default automation("List bookings", () => {
  markSignificant(
    calcom.listBookings({ status: "upcoming", limit: 50, sortStart: "asc" }),
  )
})
```

## Input

Pass these fields:

| Field             | Type                                                                  | Required | Description                              |
| ----------------- | --------------------------------------------------------------------- | -------- | ---------------------------------------- |
| `afterCreatedAt`  | `string (date-time)`                                                  | No       | —                                        |
| `afterStart`      | `string (date-time)`                                                  | No       | —                                        |
| `afterUpdatedAt`  | `string (date-time)`                                                  | No       | —                                        |
| `attendeeEmail`   | `string (email)`                                                      | No       | —                                        |
| `attendeeName`    | `string`                                                              | No       | —                                        |
| `beforeCreatedAt` | `string (date-time)`                                                  | No       | —                                        |
| `beforeEnd`       | `string (date-time)`                                                  | No       | —                                        |
| `beforeUpdatedAt` | `string (date-time)`                                                  | No       | —                                        |
| `bookingUid`      | `string`                                                              | No       | —                                        |
| `cursor`          | `string`                                                              | No       | —                                        |
| `eventTypeId`     | `integer`                                                             | No       | Must be greater than 0.                  |
| `eventTypeIds`    | `integer[]`                                                           | No       | Minimum items: 1.                        |
| `limit`           | `integer`                                                             | No       | Default: `50`. Minimum: 1. Maximum: 100. |
| `sortCreated`     | `"asc" \| "desc"`                                                     | No       | —                                        |
| `sortEnd`         | `"asc" \| "desc"`                                                     | No       | —                                        |
| `sortStart`       | `"asc" \| "desc"`                                                     | No       | —                                        |
| `sortUpdatedAt`   | `"asc" \| "desc"`                                                     | No       | —                                        |
| `status`          | `"upcoming" \| "recurring" \| "past" \| "cancelled" \| "unconfirmed"` | No       | —                                        |
| `teamId`          | `integer`                                                             | No       | Must be greater than 0.                  |
| `teamIds`         | `integer[]`                                                           | No       | Minimum items: 1.                        |

## Output

Returns an object with these fields:

| Field        | Type           | Required | Description |
| ------------ | -------------- | -------- | ----------- |
| `items`      | `JSON value[]` | Yes      | —           |
| `pagination` | `JSON value`   | Yes      | —           |

The action sends `eventTypeIds` and `teamIds` as comma-separated Cal.com filters. It returns `items` with cursor `pagination`; `limit` defaults to 50 and is capped at 100.

Cal.com enforces account role, plan, and availability requirements. Provider rejections surface as structured action failures with the HTTP status and any `Retry-After` delay.
