# Cal.com (/integrations/calcom)





{/* MANUAL-CONTENT-START:intro */}

Use [Cal.com](https://cal.com/) to manage bookings, event types, schedules, and available slots. Booking webhooks can start workflows when a booking changes.

{/* MANUAL-CONTENT-END */}

Connection guides: [API keys](/integrations/calcom-service-account).

## OAuth scopes [#oauth-scopes]

Sim requests no OAuth scopes for Cal.com. For a self-hosted deployment, register your own app with the provider using the settings below. See [Integrations and OAuth](/platform/self-hosting/integrations-oauth) for setup.

| Setting | Value |
| - | - |
| Redirect URI | `<NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/calcom` |
| Environment variables | `CALCOM_CLIENT_ID` |

## Use the block [#usage-instructions]

Create, list, confirm, decline, reschedule, or cancel bookings; manage event types and schedules; and retrieve available slots. Booking and meeting webhooks can start workflows. Connect with OAuth or a supported Cal.com API key.

## Actions [#actions]

### Cal.com Create Booking [#calcom-create-booking]

Create a new booking on Cal.com

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `eventTypeId` | number | Yes | The ID of the event type to book |
  | `start` | string | Yes | Start time in UTC ISO 8601 format (e.g., 2024-01-15T09:00:00Z) |
  | `attendee` | object | Yes | Attendee information object with name, email, timeZone, and optional phoneNumber. The Cal.com block composes this from its individual attendee fields; a direct caller sends the object. |
  | `guests` | array | No | Array of guest email addresses |
  | `lengthInMinutes` | number | No | Duration of the booking in minutes (overrides event type default) |
  | `metadata` | object | No | Custom metadata to attach to the booking |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Created booking details |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `uid` | string | Unique identifier for the booking |
  | ↳ `title` | string | Title of the booking |
  | ↳ `status` | string | Booking status (e.g., accepted, pending, cancelled) |
  | ↳ `start` | string | Start time in ISO 8601 format |
  | ↳ `end` | string | End time in ISO 8601 format |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `meetingUrl` | string | URL to join the meeting |
  | ↳ `location` | string | Location of the booking |
  | ↳ `absentHost` | boolean | Whether the host was absent |
  | ↳ `guests` | array | Guest email addresses |
  | ↳ `bookingFieldsResponses` | json | Custom booking field responses (dynamic keys based on event type configuration) |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `icsUid` | string | ICS calendar UID |
  | ↳ `createdAt` | string | When the booking was created |
</ReferenceDetails>

### Cal.com Get Booking [#calcom-get-booking]

Get details of a specific booking by its UID

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `bookingUid` | string | Yes | Unique identifier (UID) of the booking |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Booking details |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `uid` | string | Unique identifier for the booking |
  | ↳ `title` | string | Title of the booking |
  | ↳ `description` | string | Description of the booking |
  | ↳ `status` | string | Booking status (e.g., accepted, pending, cancelled) |
  | ↳ `start` | string | Start time in ISO 8601 format |
  | ↳ `end` | string | End time in ISO 8601 format |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `meetingUrl` | string | URL to join the meeting |
  | ↳ `location` | string | Location of the booking |
  | ↳ `absentHost` | boolean | Whether the host was absent |
  | ↳ `guests` | array | Guest email addresses |
  | ↳ `bookingFieldsResponses` | json | Custom booking field responses (dynamic keys based on event type configuration) |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `rating` | number | Booking rating |
  | ↳ `icsUid` | string | ICS calendar UID |
  | ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
  | ↳ `reschedulingReason` | string | Reason for rescheduling if rescheduled |
  | ↳ `rescheduledFromUid` | string | Original booking UID if this booking was rescheduled |
  | ↳ `rescheduledToUid` | string | New booking UID after reschedule |
  | ↳ `cancelledByEmail` | string | Email of person who cancelled the booking |
  | ↳ `rescheduledByEmail` | string | Email of person who rescheduled the booking |
  | ↳ `createdAt` | string | When the booking was created |
  | ↳ `updatedAt` | string | When the booking was last updated |
</ReferenceDetails>

### Cal.com List Bookings [#calcom-list-bookings]

List all bookings with optional status filter

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `status` | string | No | Filter bookings by status: upcoming, recurring, past, cancelled, or unconfirmed |
  | `take` | number | No | Number of bookings to return (pagination limit) |
  | `skip` | number | No | Number of bookings to skip (pagination offset) |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | array | Array of bookings |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `uid` | string | Unique identifier for the booking |
  | ↳ `title` | string | Title of the booking |
  | ↳ `description` | string | Description of the booking |
  | ↳ `status` | string | Booking status (e.g., accepted, pending, cancelled) |
  | ↳ `start` | string | Start time in ISO 8601 format |
  | ↳ `end` | string | End time in ISO 8601 format |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `meetingUrl` | string | URL to join the meeting |
  | ↳ `location` | string | Location of the booking |
  | ↳ `absentHost` | boolean | Whether the host was absent |
  | ↳ `guests` | array | Guest email addresses |
  | ↳ `bookingFieldsResponses` | json | Custom booking field responses (dynamic keys based on event type configuration) |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `rating` | number | Booking rating |
  | ↳ `icsUid` | string | ICS calendar UID |
  | ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
  | ↳ `cancelledByEmail` | string | Email of person who cancelled the booking |
  | ↳ `reschedulingReason` | string | Reason for rescheduling if rescheduled |
  | ↳ `rescheduledByEmail` | string | Email of person who rescheduled the booking |
  | ↳ `rescheduledFromUid` | string | Original booking UID if this booking was rescheduled |
  | ↳ `rescheduledToUid` | string | New booking UID after reschedule |
  | ↳ `createdAt` | string | When the booking was created |
  | ↳ `updatedAt` | string | When the booking was last updated |
  | `pagination` | object | Pagination metadata |
  | ↳ `totalItems` | number | Total number of items |
  | ↳ `remainingItems` | number | Remaining items after current page |
  | ↳ `returnedItems` | number | Number of items returned in this response |
  | ↳ `itemsPerPage` | number | Items per page |
  | ↳ `currentPage` | number | Current page number |
  | ↳ `totalPages` | number | Total number of pages |
  | ↳ `hasNextPage` | boolean | Whether there is a next page |
  | ↳ `hasPreviousPage` | boolean | Whether there is a previous page |
</ReferenceDetails>

### Cal.com Cancel Booking [#calcom-cancel-booking]

Cancel an existing booking

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `bookingUid` | string | Yes | Unique identifier (UID) of the booking to cancel |
  | `cancellationReason` | string | No | Reason for cancelling the booking |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Cancelled booking details |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `uid` | string | Unique identifier for the booking |
  | ↳ `title` | string | Title of the booking |
  | ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
  | ↳ `cancelledByEmail` | string | Email of person who cancelled the booking |
  | ↳ `start` | string | Start time in ISO 8601 format |
  | ↳ `end` | string | End time in ISO 8601 format |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `location` | string | Location of the booking |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `createdAt` | string | When the booking was created |
  | ↳ `status` | string | Booking status (should be cancelled) |
</ReferenceDetails>

### Cal.com Reschedule Booking [#calcom-reschedule-booking]

Reschedule an existing booking to a new time

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `bookingUid` | string | Yes | Unique identifier (UID) of the booking to reschedule |
  | `start` | string | Yes | New start time in UTC ISO 8601 format (e.g., 2024-01-15T09:00:00Z) |
  | `reschedulingReason` | string | No | Reason for rescheduling the booking |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Rescheduled booking details |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `title` | string | Title of the booking |
  | ↳ `status` | string | Booking status (e.g., accepted, pending, cancelled) |
  | ↳ `reschedulingReason` | string | Reason for rescheduling if rescheduled |
  | ↳ `rescheduledFromUid` | string | Original booking UID if this booking was rescheduled |
  | ↳ `rescheduledByEmail` | string | Email of person who rescheduled the booking |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `meetingUrl` | string | URL to join the meeting |
  | ↳ `location` | string | Location of the booking |
  | ↳ `guests` | array | Guest email addresses |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `icsUid` | string | ICS calendar UID |
  | ↳ `createdAt` | string | When the booking was created |
  | ↳ `uid` | string | Unique identifier for the new booking |
  | ↳ `start` | string | New start time in ISO 8601 format |
  | ↳ `end` | string | New end time in ISO 8601 format |
</ReferenceDetails>

### Cal.com Confirm Booking [#calcom-confirm-booking]

Confirm a pending booking that requires confirmation

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `bookingUid` | string | Yes | Unique identifier (UID) of the booking to confirm |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Confirmed booking details |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `uid` | string | Unique identifier for the booking |
  | ↳ `title` | string | Title of the booking |
  | ↳ `start` | string | Start time in ISO 8601 format |
  | ↳ `end` | string | End time in ISO 8601 format |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `meetingUrl` | string | URL to join the meeting |
  | ↳ `location` | string | Location of the booking |
  | ↳ `guests` | array | Guest email addresses |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `icsUid` | string | ICS calendar UID |
  | ↳ `createdAt` | string | When the booking was created |
  | ↳ `status` | string | Booking status (should be accepted/confirmed) |
</ReferenceDetails>

### Cal.com Decline Booking [#calcom-decline-booking]

Decline a pending booking request

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `bookingUid` | string | Yes | Unique identifier (UID) of the booking to decline |
  | `reason` | string | No | Reason for declining the booking |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Declined booking details |
  | ↳ `eventType` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `slug` | string | Event type slug |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `timeZone` | string | Attendee timezone (IANA format) |
  | ↳ `phoneNumber` | string | Attendee phone number |
  | ↳ `language` | string | Attendee language preference (ISO code) |
  | ↳ `absent` | boolean | Whether attendee was absent |
  | ↳ `hosts` | array | List of hosts |
  | ↳ `id` | number | Host user ID |
  | ↳ `name` | string | Host display name |
  | ↳ `email` | string | Host actual email address |
  | ↳ `displayEmail` | string | Email shown publicly (may differ from actual email) |
  | ↳ `username` | string | Host Cal.com username |
  | ↳ `timeZone` | string | Host timezone (IANA format) |
  | ↳ `id` | number | Numeric booking ID |
  | ↳ `uid` | string | Unique identifier for the booking |
  | ↳ `title` | string | Title of the booking |
  | ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
  | ↳ `start` | string | Start time in ISO 8601 format |
  | ↳ `end` | string | End time in ISO 8601 format |
  | ↳ `duration` | number | Duration in minutes |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `location` | string | Location of the booking |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic key-value pairs) |
  | ↳ `createdAt` | string | When the booking was created |
  | ↳ `status` | string | Booking status (should be cancelled/rejected) |
</ReferenceDetails>

### Cal.com Create Event Type [#calcom-create-event-type]

Create a new event type in Cal.com

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `title` | string | Yes | Title of the event type |
  | `slug` | string | Yes | Unique slug for the event type URL |
  | `lengthInMinutes` | number | Yes | Duration of the event in minutes |
  | `description` | string | No | Description of the event type |
  | `slotInterval` | number | No | Interval between available booking slots in minutes |
  | `minimumBookingNotice` | number | No | Minimum notice required before booking in minutes |
  | `beforeEventBuffer` | number | No | Buffer time before the event in minutes |
  | `afterEventBuffer` | number | No | Buffer time after the event in minutes |
  | `scheduleId` | number | No | ID of the schedule to use for availability |
  | `disableGuests` | boolean | No | Whether to disable guests from being added to bookings |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Created event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `title` | string | Event type title |
  | ↳ `slug` | string | Event type slug |
  | ↳ `description` | string | Event type description |
  | ↳ `lengthInMinutes` | number | Duration in minutes |
  | ↳ `slotInterval` | number | Slot interval in minutes |
  | ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
  | ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
  | ↳ `afterEventBuffer` | number | Buffer after event in minutes |
  | ↳ `scheduleId` | number | Schedule ID |
  | ↳ `disableGuests` | boolean | Whether guests are disabled |
  | ↳ `createdAt` | string | ISO timestamp of creation |
  | ↳ `updatedAt` | string | ISO timestamp of last update |
</ReferenceDetails>

### Cal.com Get Event Type [#calcom-get-event-type]

Get detailed information about a specific event type

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `eventTypeId` | number | Yes | Event type ID to retrieve |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `title` | string | Event type title |
  | ↳ `slug` | string | Event type slug |
  | ↳ `description` | string | Event type description |
  | ↳ `lengthInMinutes` | number | Duration in minutes |
  | ↳ `slotInterval` | number | Slot interval in minutes |
  | ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
  | ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
  | ↳ `afterEventBuffer` | number | Buffer after event in minutes |
  | ↳ `scheduleId` | number | Schedule ID |
  | ↳ `disableGuests` | boolean | Whether guests are disabled |
  | ↳ `createdAt` | string | ISO timestamp of creation |
  | ↳ `updatedAt` | string | ISO timestamp of last update |
</ReferenceDetails>

### Cal.com List Event Types [#calcom-list-event-types]

Retrieve a list of all event types

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `sortCreatedAt` | string | No | Sort by creation date: "asc" or "desc" |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | array | Array of event types |
  | ↳ `id` | number | Event type ID |
  | ↳ `title` | string | Event type title |
  | ↳ `slug` | string | Event type slug |
  | ↳ `description` | string | Event type description |
  | ↳ `lengthInMinutes` | number | Duration in minutes |
  | ↳ `slotInterval` | number | Slot interval in minutes |
  | ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
  | ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
  | ↳ `afterEventBuffer` | number | Buffer after event in minutes |
  | ↳ `scheduleId` | number | Schedule ID |
  | ↳ `disableGuests` | boolean | Whether guests are disabled |
  | ↳ `createdAt` | string | ISO timestamp of creation |
  | ↳ `updatedAt` | string | ISO timestamp of last update |
</ReferenceDetails>

### Cal.com Update Event Type [#calcom-update-event-type]

Update an existing event type in Cal.com

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `eventTypeId` | number | Yes | Event type ID to update (e.g., 12345) |
  | `title` | string | No | Title of the event type |
  | `slug` | string | No | Unique slug for the event type URL |
  | `lengthInMinutes` | number | No | Duration of the event in minutes |
  | `description` | string | No | Description of the event type |
  | `slotInterval` | number | No | Interval between available booking slots in minutes |
  | `minimumBookingNotice` | number | No | Minimum notice required before booking in minutes |
  | `beforeEventBuffer` | number | No | Buffer time before the event in minutes |
  | `afterEventBuffer` | number | No | Buffer time after the event in minutes |
  | `scheduleId` | number | No | ID of the schedule to use for availability |
  | `disableGuests` | boolean | No | Whether to disable guests from being added to bookings |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Updated event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `title` | string | Event type title |
  | ↳ `slug` | string | Event type slug |
  | ↳ `description` | string | Event type description |
  | ↳ `lengthInMinutes` | number | Duration in minutes |
  | ↳ `slotInterval` | number | Slot interval in minutes |
  | ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
  | ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
  | ↳ `afterEventBuffer` | number | Buffer after event in minutes |
  | ↳ `scheduleId` | number | Schedule ID |
  | ↳ `disableGuests` | boolean | Whether guests are disabled |
  | ↳ `createdAt` | string | ISO timestamp of creation |
  | ↳ `updatedAt` | string | ISO timestamp of last update |
</ReferenceDetails>

### Cal.com Delete Event Type [#calcom-delete-event-type]

Delete an event type from Cal.com

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `eventTypeId` | number | Yes | Event type ID to delete |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Deleted event type details |
  | ↳ `id` | number | Event type ID |
  | ↳ `lengthInMinutes` | number | Duration in minutes |
  | ↳ `title` | string | Event type title |
  | ↳ `slug` | string | Event type slug |
</ReferenceDetails>

### Cal.com Create Schedule [#calcom-create-schedule]

Create a new availability schedule in Cal.com

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `name` | string | Yes | Name of the schedule |
  | `timeZone` | string | Yes | Timezone for the schedule (e.g., America/New\_York) |
  | `isDefault` | boolean | Yes | Whether this schedule should be the default |
  | `availability` | array | No | Availability intervals for the schedule |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Created schedule data |
  | ↳ `id` | number | Schedule ID |
  | ↳ `ownerId` | number | Owner user ID |
  | ↳ `name` | string | Schedule name |
  | ↳ `timeZone` | string | Timezone (e.g., America/New\_York) |
  | ↳ `isDefault` | boolean | Whether this is the default schedule |
  | ↳ `availability` | array | Availability windows |
  | ↳ `days` | array | Days of the week (Monday, Tuesday, etc.) |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
  | ↳ `overrides` | array | Date-specific availability overrides |
  | ↳ `date` | string | Date in YYYY-MM-DD format |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
</ReferenceDetails>

### Cal.com Get Schedule [#calcom-get-schedule]

Get a specific schedule by ID from Cal.com

<ReferenceDetails>
  #### Input [#input-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `scheduleId` | string | Yes | ID of the schedule to retrieve |

  #### Output [#output-13]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Schedule data |
  | ↳ `id` | number | Schedule ID |
  | ↳ `ownerId` | number | Owner user ID |
  | ↳ `name` | string | Schedule name |
  | ↳ `timeZone` | string | Timezone (e.g., America/New\_York) |
  | ↳ `isDefault` | boolean | Whether this is the default schedule |
  | ↳ `availability` | array | Availability windows |
  | ↳ `days` | array | Days of the week (Monday, Tuesday, etc.) |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
  | ↳ `overrides` | array | Date-specific availability overrides |
  | ↳ `date` | string | Date in YYYY-MM-DD format |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
</ReferenceDetails>

### Cal.com List Schedules [#calcom-list-schedules]

List all availability schedules from Cal.com

<ReferenceDetails>
  #### Input [#input-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |

  #### Output [#output-14]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | array | Array of schedule objects |
  | ↳ `id` | number | Schedule ID |
  | ↳ `ownerId` | number | Owner user ID |
  | ↳ `name` | string | Schedule name |
  | ↳ `timeZone` | string | Timezone (e.g., America/New\_York) |
  | ↳ `isDefault` | boolean | Whether this is the default schedule |
  | ↳ `availability` | array | Availability windows |
  | ↳ `days` | array | Days of the week (Monday, Tuesday, etc.) |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
  | ↳ `overrides` | array | Date-specific availability overrides |
  | ↳ `date` | string | Date in YYYY-MM-DD format |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
</ReferenceDetails>

### Cal.com Update Schedule [#calcom-update-schedule]

Update an existing schedule in Cal.com

<ReferenceDetails>
  #### Input [#input-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `scheduleId` | string | Yes | ID of the schedule to update |
  | `name` | string | No | New name for the schedule |
  | `timeZone` | string | No | New timezone for the schedule (e.g., America/New\_York) |
  | `isDefault` | boolean | No | Whether this schedule should be the default |
  | `availability` | array | No | New availability intervals for the schedule |

  #### Output [#output-15]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Updated schedule data |
  | ↳ `id` | number | Schedule ID |
  | ↳ `ownerId` | number | Owner user ID |
  | ↳ `name` | string | Schedule name |
  | ↳ `timeZone` | string | Timezone (e.g., America/New\_York) |
  | ↳ `isDefault` | boolean | Whether this is the default schedule |
  | ↳ `availability` | array | Availability windows |
  | ↳ `days` | array | Days of the week (Monday, Tuesday, etc.) |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
  | ↳ `overrides` | array | Date-specific availability overrides |
  | ↳ `date` | string | Date in YYYY-MM-DD format |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
</ReferenceDetails>

### Cal.com Delete Schedule [#calcom-delete-schedule]

Delete a schedule from Cal.com

<ReferenceDetails>
  #### Input [#input-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `scheduleId` | string | Yes | ID of the schedule to delete |

  #### Output [#output-16]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status (success or error) |
</ReferenceDetails>

### Cal.com Get Default Schedule [#calcom-get-default-schedule]

Get the default availability schedule from Cal.com

<ReferenceDetails>
  #### Input [#input-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |

  #### Output [#output-17]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | object | Default schedule data |
  | ↳ `id` | number | Schedule ID |
  | ↳ `ownerId` | number | Owner user ID |
  | ↳ `name` | string | Schedule name |
  | ↳ `timeZone` | string | Timezone (e.g., America/New\_York) |
  | ↳ `isDefault` | boolean | Whether this is the default schedule |
  | ↳ `availability` | array | Availability windows |
  | ↳ `days` | array | Days of the week (Monday, Tuesday, etc.) |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
  | ↳ `overrides` | array | Date-specific availability overrides |
  | ↳ `date` | string | Date in YYYY-MM-DD format |
  | ↳ `startTime` | string | Start time in HH:MM format |
  | ↳ `endTime` | string | End time in HH:MM format |
</ReferenceDetails>

### Cal.com Get Slots [#calcom-get-slots]

Get available booking slots for a Cal.com event type within a time range

<ReferenceDetails>
  #### Input [#input-18]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `start` | string | Yes | Start of time range in UTC ISO 8601 format (e.g., 2024-01-15T00:00:00Z) |
  | `end` | string | Yes | End of time range in UTC ISO 8601 format (e.g., 2024-01-22T00:00:00Z) |
  | `eventTypeId` | number | No | Event type ID for direct lookup |
  | `eventTypeSlug` | string | No | Event type slug (requires username to be set) |
  | `username` | string | No | Username for personal event types (required when using eventTypeSlug) |
  | `timeZone` | string | No | Timezone for returned slots (defaults to UTC) |
  | `duration` | number | No | Slot length in minutes |

  #### Output [#output-18]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Response status |
  | `data` | json | Available time slots grouped by date (YYYY-MM-DD keys). Each date maps to an array of slot objects with start time, optional end time, and seated event info. |
</ReferenceDetails>

## Triggers [#triggers]

A trigger starts a workflow when a supported event occurs in this service.

### CalCom Booking Cancelled [#calcom-booking-cancelled]

Trigger workflow when a booking is cancelled in Cal.com

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-19]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Booking title |
  | ↳ `description` | string | Booking description |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Booking start time (ISO 8601) |
  | ↳ `endTime` | string | Booking end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `status` | string | Booking status |
  | ↳ `location` | string | Meeting location or URL |
  | ↳ `cancellationReason` | string | Reason for cancellation |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `responses` | json | Booking form responses |
  | ↳ `metadata` | json | Custom metadata attached to the booking |
</ReferenceDetails>

### CalCom Booking Created [#calcom-booking-created]

Trigger workflow when a new booking is created in Cal.com

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-20]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Booking title |
  | ↳ `description` | string | Booking description |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Booking start time (ISO 8601) |
  | ↳ `endTime` | string | Booking end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `status` | string | Booking status |
  | ↳ `location` | string | Meeting location or URL |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `responses` | json | Booking form responses (dynamic - fields depend on your event type configuration) |
  | ↳ `metadata` | json | Custom metadata attached to the booking (dynamic - user-defined key-value pairs) |
  | ↳ `videoCallData` | json | Video call details (structure varies by provider) |
</ReferenceDetails>

### CalCom Booking Paid [#calcom-booking-paid]

Trigger workflow when payment is completed for a paid booking

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-21]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type (BOOKING\_PAID) |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Booking title |
  | ↳ `description` | string | Booking description |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Booking start time (ISO 8601) |
  | ↳ `endTime` | string | Booking end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `status` | string | Booking status |
  | ↳ `location` | string | Meeting location or URL |
  | ↳ `payment` | object | Payment details |
  | ↳ `id` | string | Payment ID |
  | ↳ `amount` | number | Payment amount |
  | ↳ `currency` | string | Payment currency |
  | ↳ `success` | boolean | Whether payment succeeded |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `metadata` | json | Custom metadata attached to the booking |
</ReferenceDetails>

### CalCom Booking Rejected [#calcom-booking-rejected]

Trigger workflow when a booking request is rejected by the host

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-22]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type (BOOKING\_REJECTED) |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Booking title |
  | ↳ `description` | string | Booking description |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Requested start time (ISO 8601) |
  | ↳ `endTime` | string | Requested end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `status` | string | Booking status (rejected) |
  | ↳ `rejectionReason` | string | Reason for rejection provided by host |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `metadata` | json | Custom metadata attached to the booking |
</ReferenceDetails>

### CalCom Booking Requested [#calcom-booking-requested]

Trigger workflow when a booking request is submitted (pending confirmation)

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-23]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type (BOOKING\_REQUESTED) |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Booking title |
  | ↳ `description` | string | Booking description |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Requested start time (ISO 8601) |
  | ↳ `endTime` | string | Requested end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `status` | string | Booking status (pending) |
  | ↳ `location` | string | Meeting location or URL |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `responses` | json | Booking form responses |
  | ↳ `metadata` | json | Custom metadata attached to the booking |
</ReferenceDetails>

### CalCom Booking Rescheduled [#calcom-booking-rescheduled]

Trigger workflow when a booking is rescheduled in Cal.com

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-24]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Booking title |
  | ↳ `description` | string | Booking description |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | New booking start time (ISO 8601) |
  | ↳ `endTime` | string | New booking end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `status` | string | Booking status |
  | ↳ `location` | string | Meeting location or URL |
  | ↳ `rescheduleId` | number | Previous booking ID |
  | ↳ `rescheduleUid` | string | Previous booking UID |
  | ↳ `rescheduleStartTime` | string | Original start time (ISO 8601) |
  | ↳ `rescheduleEndTime` | string | Original end time (ISO 8601) |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `responses` | json | Booking form responses |
  | ↳ `metadata` | json | Custom metadata attached to the booking |
</ReferenceDetails>

### CalCom Meeting Ended [#calcom-meeting-ended]

Trigger workflow when a Cal.com meeting ends

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-25]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type (MEETING\_ENDED) |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Meeting title |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Meeting start time (ISO 8601) |
  | ↳ `endTime` | string | Meeting end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `duration` | number | Actual meeting duration in minutes |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
  | ↳ `videoCallData` | json | Video call details |
</ReferenceDetails>

### CalCom Recording Ready [#calcom-recording-ready]

Trigger workflow when a meeting recording is ready for download

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-26]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type (RECORDING\_READY) |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | object | |
  | ↳ `title` | string | Meeting title |
  | ↳ `eventTypeId` | number | Event type ID |
  | ↳ `startTime` | string | Meeting start time (ISO 8601) |
  | ↳ `endTime` | string | Meeting end time (ISO 8601) |
  | ↳ `uid` | string | Unique booking identifier |
  | ↳ `bookingId` | number | Numeric booking ID |
  | ↳ `recordingUrl` | string | URL to download the recording |
  | ↳ `transcription` | string | Meeting transcription text (if available) |
  | ↳ `organizer` | object | Organizer details |
  | ↳ `id` | number | Organizer user ID |
  | ↳ `name` | string | Organizer name |
  | ↳ `email` | string | Organizer email |
  | ↳ `username` | string | Organizer username |
  | ↳ `timeZone` | string | Organizer timezone |
  | ↳ `attendees` | array | List of attendees |
  | ↳ `name` | string | Attendee name |
  | ↳ `email` | string | Attendee email |
  | ↳ `timeZone` | string | Attendee timezone |
  | ↳ `language` | string | Attendee language preference |
</ReferenceDetails>

### CalCom Webhook (All Events) [#calcom-webhook-all-events]

Trigger workflow on any Cal.com webhook event (configure event types in Cal.com)

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `webhookSecret` | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |

  #### Output [#output-27]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggerEvent` | string | The webhook event type (e.g., BOOKING\_CREATED, MEETING\_ENDED) |
  | `createdAt` | string | When the webhook event was created (ISO 8601) |
  | `payload` | json | Complete webhook payload (structure varies by event type) |
</ReferenceDetails>
