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

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.