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

# Cal.com clone

> Test scheduling agents against a stateful Cal.com clone of event types, schedules, availability slots, bookings, calendars, and webhook subscriptions.

Clone ID: `calcom`

This clone is a preview. Coverage is still pending, so the surface is accurate
on what it implements but does not yet span the full Cal.com API.

Covers Cal.com scheduling workflows: the authenticated user, event types,
availability schedules, computed booking slots, the full booking lifecycle
(create, cancel, reschedule), connected calendars, and the webhook lifecycle
(create, get, update, delete).

## Start here

| Question     | Answer                                                                                                       |
| ------------ | ------------------------------------------------------------------------------------------------------------ |
| Best for     | Agents that read availability, book meetings, and cancel or reschedule existing bookings.                    |
| Connect with | Direct REST base URLs from `archal clone start calcom` or MCP tools.                                         |
| Known limits | Coverage is focused on the v2 scheduling and booking APIs, not Cal.com's web UI, teams, or billing surfaces. |
| Seeds        | Common seeds: `empty`, `demo`. See [Seeds](/guides/seeds) for usage.                                         |

## Available tools

### Account

| Tool     | Description                                 |
| -------- | ------------------------------------------- |
| `get_me` | Get the authenticated Cal.com user profile. |

### Event types

| Tool               | Description                    |
| ------------------ | ------------------------------ |
| `list_event_types` | List the user's event types.   |
| `get_event_type`   | Get a single event type by id. |

### Schedules and slots

| Tool                   | Description                                                      |
| ---------------------- | ---------------------------------------------------------------- |
| `list_schedules`       | List the user's availability schedules.                          |
| `get_schedule`         | Get a single availability schedule by id.                        |
| `get_default_schedule` | Get the user's default availability schedule.                    |
| `get_available_slots`  | Get available booking slots for an event type over a date range. |

### Calendars

| Tool             | Description                                                      |
| ---------------- | ---------------------------------------------------------------- |
| `list_calendars` | List the account's connected calendars and destination calendar. |

### Bookings

| Tool                 | Description                                                                 |
| -------------------- | --------------------------------------------------------------------------- |
| `list_bookings`      | List the user's bookings. Filter by status, eventTypeIds, or attendeeEmail. |
| `get_booking`        | Get a single booking by its uid.                                            |
| `create_booking`     | Create a booking for an event type at a given start time.                   |
| `cancel_booking`     | Cancel a booking by its uid.                                                |
| `reschedule_booking` | Reschedule a booking to a new start time.                                   |

### Webhooks

| Tool             | Description                                             |
| ---------------- | ------------------------------------------------------- |
| `list_webhooks`  | List the user's webhooks.                               |
| `get_webhook`    | Get a single webhook by its id.                         |
| `create_webhook` | Create a webhook subscribing to booking event triggers. |
| `update_webhook` | Update a webhook by its id.                             |
| `delete_webhook` | Delete a webhook by its id.                             |

## Notes

* REST routes use Cal.com's `/v2/...` path shape.
* Available slots are computed from the event type's schedule availability minus
  existing bookings, so booking a slot removes it and cancelling restores it.
* The webhook list/create/update/delete endpoints return a compact summary; the
  single-webhook get returns the full detail record.
* `demo` includes the user, four event types, the "Working hours" schedule, a
  sample booking, the connected calendars, and three webhooks.
