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

# Cal.com

> Connect Cal.com to your Atako agents — 8 read and 6 write actions.

Let your agents list event types, check availability, create/reschedule/cancel bookings, and manage schedules via the Cal.com API.

## Connection

* **Authentication**: API key.

<Note>
  Sign in at app.cal.com → Settings → Security → API Keys → New API Key. Name it, copy the key (starts with cal\_ for test mode, cal\_live\_ for live mode).

  See [Cal.com's documentation](https://app.cal.com/settings/security).
</Note>

## Read actions (8)

| Action                | Description                                                                                                                                                                                                                                                     |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_available_slots` | Get available time slots. Provide start (ISO datetime string, UTC), end (ISO datetime string, UTC), and timeZone (IANA tz string, e.g. "Europe/Paris"). Identify the event type with either eventTypeId (number) OR username (string) + eventTypeSlug (string). |
| `get_booking`         | Retrieve a single booking by its UID (string, not numeric ID).                                                                                                                                                                                                  |
| `get_event_type`      | Retrieve a single event type by its numeric ID.                                                                                                                                                                                                                 |
| `get_me`              | Get the authenticated user's profile (probe).                                                                                                                                                                                                                   |
| `get_schedule`        | Retrieve a single schedule by its numeric ID.                                                                                                                                                                                                                   |
| `list_bookings`       | List bookings. Filters: status (upcoming\|past\|cancelled\|recurring\|unconfirmed), attendeeEmail (string), eventTypeId (number), afterStart (ISO datetime string), beforeEnd (ISO datetime string), take (integer 1-100), skip (integer).                      |
| `list_event_types`    | List all event types for the authenticated user.                                                                                                                                                                                                                |
| `list_schedules`      | List all schedules for the authenticated user.                                                                                                                                                                                                                  |

## Write actions (6)

| Action               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cancel_booking`     | Cancel a booking. Arguments: bookingUid (string, path), cancellationReason (optional string).                                                                                                                                                                                                                                                                                                                                                                                            |
| `create_booking`     | Create a booking. Arguments: start (ISO datetime string in UTC, e.g. "2026-01-15T09:00:00Z"), eventTypeId (number) OR eventTypeSlug (string) + username (string), attendee object with name (string), email (string), timeZone (IANA tz string, e.g. "America/New\_York"), language (optional string, e.g. "en"), guests (optional array of email strings), metadata (optional object of string key-value pairs), bookingFieldsResponses (optional object of custom field slug → value). |
| `create_event_type`  | Create an event type. Arguments: title (string), slug (string), lengthInMinutes (integer, e.g. 30), description (optional string).                                                                                                                                                                                                                                                                                                                                                       |
| `create_schedule`    | Create a schedule. Arguments: name (string), timeZone (IANA tz string, e.g. "Europe/Paris"), isDefault (optional boolean), availability (optional array of objects with days (array of day strings: Monday-Sunday), startTime (HH:MM string), endTime (HH:MM string)).                                                                                                                                                                                                                   |
| `reschedule_booking` | Reschedule an existing booking. Arguments: bookingUid (string, path), start (ISO datetime string in UTC), reschedulingReason (optional string).                                                                                                                                                                                                                                                                                                                                          |
| `update_event_type`  | Update an event type. Arguments: eventTypeId (number, path). Any of: title (string), slug (string), lengthInMinutes (integer), description (string).                                                                                                                                                                                                                                                                                                                                     |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
