> ## 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.

# Get calendar free slots

> Returns available slots for a calendar and date range.

`highlevel.getCalendarFreeSlots` returns available slots for a calendar and date range.

```ts automations/highlevel-get-calendar-free-slots.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { highlevel } from "automate.ax/highlevel"

export default automation("Get calendar free slots", () => {
  markSignificant(
    highlevel.getCalendarFreeSlots({
      calendarId: "ocQHyuzHvysMo5N5VsXc",
      startDate: 1548898600000,
      endDate: 1601490599999,
    }),
  )
})
```

## Input

| Field        | Type       | Required | Description                  |
| ------------ | ---------- | -------- | ---------------------------- |
| `calendarId` | `string`   | Yes      | HighLevel calendar id value. |
| `startDate`  | `number`   | Yes      | HighLevel start date value.  |
| `endDate`    | `number`   | Yes      | HighLevel end date value.    |
| `timezone`   | `string`   | No       | HighLevel timezone value.    |
| `userId`     | `string`   | No       | HighLevel user id value.     |
| `userIds`    | `string[]` | No       | HighLevel user ids value.    |

Automate.ax supplies the connected sub-account's location ID. Optional second argument `{ account }` selects a named HighLevel binding.

## Output

Returns the provider's successful response. Actions whose endpoint has no response body return `null`.

This action calls `GET /calendars/{calendarId}/free-slots` with HighLevel API version `2021-04-15` and requires `calendars.readonly`. HighLevel validation and permission errors fail the action. Rate limits honor the provider's retry timing.
