# Cal.com

Manage Cal.com scheduling: event types, bookings, availability, schedules. Exposes **31 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `calcom_me` | Get the authenticated Cal.com user info - GET /me. |
| `calcom_users_list` | List all users (team members) - GET /users. |
| `calcom_user_get` | Get one user by ID - GET /users/&#123;userId&#125;. |
| `calcom_event_types_list` | List event types (booking pages/forms) - GET /event-types. |
| `calcom_event_type_get` | Get one event type - GET /event-types/&#123;eventTypeId&#125;. |
| `calcom_event_type_create` | Create a new event type - POST /event-types. |
| `calcom_event_type_update` | Update an event type - PATCH /event-types/&#123;eventTypeId&#125;. |
| `calcom_event_type_delete` | Delete an event type - DELETE /event-types/&#123;eventTypeId&#125;. |
| `calcom_schedules_list` | List schedules (availability configurations) - GET /schedules. |
| `calcom_schedule_get` | Get one schedule - GET /schedules/&#123;scheduleId&#125;. |
| `calcom_schedule_create` | Create a schedule - POST /schedules. |
| `calcom_schedule_update` | Update a schedule - PATCH /schedules/&#123;scheduleId&#125;. |
| `calcom_schedule_delete` | Delete a schedule - DELETE /schedules/&#123;scheduleId&#125;. |
| `calcom_bookings_list` | List bookings (scheduled meetings) - GET /bookings. |
| `calcom_booking_get` | Get one booking - GET /bookings/&#123;bookingId&#125;. |
| `calcom_booking_create` | Create a booking - POST /bookings. |
| `calcom_booking_update` | Update a booking - PATCH /bookings/&#123;bookingId&#125;. |
| `calcom_booking_delete` | Cancel/delete a booking - DELETE /bookings/&#123;bookingId&#125;. |
| `calcom_availability_get` | Get availability for an event type - GET /event-types/&#123;eventTypeId&#125;/availability. |
| `calcom_slots_list` | List available time slots for booking - GET /slots. |
| `calcom_event_type_groups_list` | List event type groups - GET /event-type-groups. |
| `calcom_event_type_group_get` | Get one event type group - GET /event-type-groups/&#123;groupId&#125;. |
| `calcom_event_type_group_create` | Create an event type group - POST /event-type-groups. |
| `calcom_event_type_group_update` | Update an event type group - PATCH /event-type-groups/&#123;groupId&#125;. |
| `calcom_event_type_group_delete` | Delete an event type group - DELETE /event-type-groups/&#123;groupId&#125;. |
| `calcom_webhooks_list` | List webhooks - GET /webhooks. |
| `calcom_webhook_create` | Create a webhook - POST /webhooks. |
| `calcom_webhook_update` | Update a webhook - PATCH /webhooks/&#123;webhookId&#125;. |
| `calcom_webhook_delete` | Delete a webhook - DELETE /webhooks/&#123;webhookId&#125;. |
| `calcom_apps_connected_list` | List installed/connected apps (integrations like Google Calendar, Zoom) - GET /apps/installed. |
| `calcom_app_install` | Install/enable an app integration - POST /apps/install. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`CALCOM_API_KEY`** - Cal.com - Settings - Developer - API keys. (https://app.cal.com/settings/developer/api-keys)

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `CALCOM_API_KEY` | Cal.com - Settings - Developer - API keys. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Cal.com API documentation](https://cal.com/docs/api-reference/v2)
