Use Cal.com to manage bookings, event types, schedules, and available slots. Booking webhooks can start workflows when a booking changes.
Connection guides: API keys.
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 for setup.
| Setting | Value |
|---|---|
| Redirect URI | <NEXT_PUBLIC_APP_URL>/api/auth/oauth2/callback/calcom |
| Environment variables | CALCOM_CLIENT_ID |
Use the block
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
Cal.com Create Booking
Create a new booking on Cal.com
Inputs and outputs
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
| 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 |
Cal.com Get Booking
Get details of a specific booking by its UID
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingUid | string | Yes | Unique identifier (UID) of the booking |
Output
| 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 |
Cal.com List Bookings
List all bookings with optional status filter
Inputs and outputs
Input
| 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
| 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 |
Cal.com Cancel Booking
Cancel an existing booking
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingUid | string | Yes | Unique identifier (UID) of the booking to cancel |
cancellationReason | string | No | Reason for cancelling the booking |
Output
| 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) |
Cal.com Reschedule Booking
Reschedule an existing booking to a new time
Inputs and outputs
Input
| 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
| 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 |
Cal.com Confirm Booking
Confirm a pending booking that requires confirmation
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingUid | string | Yes | Unique identifier (UID) of the booking to confirm |
Output
| 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) |
Cal.com Decline Booking
Decline a pending booking request
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
bookingUid | string | Yes | Unique identifier (UID) of the booking to decline |
reason | string | No | Reason for declining the booking |
Output
| 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) |
Cal.com Create Event Type
Create a new event type in Cal.com
Inputs and outputs
Input
| 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
| 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 |
Cal.com Get Event Type
Get detailed information about a specific event type
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
eventTypeId | number | Yes | Event type ID to retrieve |
Output
| 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 |
Cal.com List Event Types
Retrieve a list of all event types
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
sortCreatedAt | string | No | Sort by creation date: "asc" or "desc" |
Output
| 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 |
Cal.com Update Event Type
Update an existing event type in Cal.com
Inputs and outputs
Input
| 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
| 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 |
Cal.com Delete Event Type
Delete an event type from Cal.com
Inputs and outputs
Cal.com Create Schedule
Create a new availability schedule in Cal.com
Inputs and outputs
Input
| 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
| 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 |
Cal.com Get Schedule
Get a specific schedule by ID from Cal.com
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
scheduleId | string | Yes | ID of the schedule to retrieve |
Output
| 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 |
Cal.com List Schedules
List all availability schedules from Cal.com
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|
Output
| 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 |
Cal.com Update Schedule
Update an existing schedule in Cal.com
Inputs and outputs
Input
| 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
| 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 |
Cal.com Delete Schedule
Delete a schedule from Cal.com
Inputs and outputs
Cal.com Get Default Schedule
Get the default availability schedule from Cal.com
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|
Output
| 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 |
Cal.com Get Slots
Get available booking slots for a Cal.com event type within a time range
Inputs and outputs
Input
| 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
| 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. |
Triggers
A trigger starts a workflow when a supported event occurs in this service.
CalCom Booking Cancelled
Trigger workflow when a booking is cancelled in Cal.com
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Booking Created
Trigger workflow when a new booking is created in Cal.com
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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) |
CalCom Booking Paid
Trigger workflow when payment is completed for a paid booking
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Booking Rejected
Trigger workflow when a booking request is rejected by the host
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Booking Requested
Trigger workflow when a booking request is submitted (pending confirmation)
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Booking Rescheduled
Trigger workflow when a booking is rescheduled in Cal.com
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Meeting Ended
Trigger workflow when a Cal.com meeting ends
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Recording Ready
Trigger workflow when a meeting recording is ready for download
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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 |
CalCom Webhook (All Events)
Trigger workflow on any Cal.com webhook event (configure event types in Cal.com)
Configuration and outputs
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
webhookSecret | string | No | Used to verify webhook requests via X-Cal-Signature-256 header. |
Output
| 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) |