Cal.com
A fully customizable scheduling software for individuals, businesses taking calls and developers building scheduling platforms where users meet users.
Categories: Communication
Type: calcom/v1
Connections
Version: 1
API Key Authorization
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| token | Api Key | STRING | Can be found in Settings -> Developer -> API keys. | true |
Connection Setup
Find API Key
- Navigate to your dashboard.
- Click on My settings.
- Click on API keys.
- Click on Add.
- Enter name of your API Key.
- Choose expiration date of your API key.
- Click on Save.
- Click on Copy to copy the API key, you will not be able to see it after this step.
- Click on Done.
Triggers
Booking Canceled
Name: bookingCanceled
Triggers when a booking is canceled.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| bookerUrl | STRING | Booker URL. |
| title | STRING | Title of the booking. |
| length | INTEGER | Length of the booking. |
| type | STRING | Type of the booking. |
| additionalNotes | STRING | Additional notes of the booking. |
| description | STRING | Description of the booking. |
| customInputs | OBJECT Properties{} | Custom inputs of the booking. |
| eventTypeId | INTEGER | ID of the event type of the booking. |
| userFieldsResponses | OBJECT Properties{} | User field responses of the booking. |
| responses | OBJECT Properties{{{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), {STRING(label), BOOLEAN(isHidden)}(title), {STRING(label), BOOLEAN(isHidden)}(notes), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), {STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
| attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
| uid | STRING | UID of the booking. |
| bookingId | INTEGER | ID of the booking. |
| location | STRING | Location of the booking. |
| destinationCalendar | ARRAY Items[{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}($calendar)] | Destination calendar of the booking. |
| cancellationReason | STRING | Cancellation reason of the booking cancellation. |
| seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
| seatsShowAttendees | BOOLEAN Optionstrue, false | Whether the seats show attendees. |
| iCalUID | STRING | UID of the iCal. |
| iCalSequence | INTEGER | Sequence of the iCal. |
| hideOrganizerEmail | BOOLEAN Optionstrue, false | Whether the organizer email is hidden. |
| customReplyToEmail | STRING | Custom reply to the email. |
| eventTitle | STRING | Event title of the booking. |
| eventDescription | STRING | Event description of the booking. |
| requiresConfirmation | BOOLEAN Optionstrue, false | Whether booking requires confirmation. |
| price | INTEGER | Price of the booking. |
| currency | STRING | Currency of the price of the booking. |
| status | STRING | Status of the booking |
| cancelledBy | STRING | User that cancelled the booking. |
JSON Example
{
"label" : "Booking Canceled",
"name" : "bookingCanceled",
"type" : "calcom/v1/bookingCanceled"
}Booking Created
Name: bookingCreated
Triggers when a booking is created.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| bookerUrl | STRING | Booker URL. |
| title | STRING | Title of the booking. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| additionalNotes | STRING | Additional notes of the booking. |
| type | STRING | Type of the booking. |
| description | STRING | Description of the booking. |
| eventTypeId | INTEGER | ID of the event type of the booking. |
| hideCalendarNotes | BOOLEAN Optionstrue, false | Whether the calendar notes are hidden. |
| hideCalendarEventDetails | BOOLEAN Optionstrue, false | Whether the calendar event details are hidden. |
| hideOrganizerEmail | BOOLEAN Optionstrue, false | Whether the organizer email is hidden. |
| schedulingType | STRING | Scheduling type of the booking |
| seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
| seatsShowAttendees | BOOLEAN Optionstrue, false | Whether the seats show attendees. |
| seatsShowAvailabilityCount | BOOLEAN Optionstrue, false | Whether the seats show availability count. |
| customReplyToEmail | STRING | Custom reply to the email. |
| organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
| attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
| customInputs | OBJECT Properties{} | Custom inputs of the booking. |
| responses | OBJECT Properties{{{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), {STRING(label), BOOLEAN(isHidden)}(title), {STRING(label), BOOLEAN(isHidden)}(notes), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), {STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
| userFieldsResponses | OBJECT Properties{} | User field responses of the booking. |
| location | STRING | Location of the booking. |
| destinationCalendar | ARRAY Items[{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}($calendar)] | Destination calendar of the booking. |
| iCalUID | STRING | UID of the iCal. |
| iCalSequence | INTEGER | Sequence of the iCal. |
| requiresConfirmation | BOOLEAN Optionstrue, false | Whether booking requires confirmation. |
| oneTimePassword | STRING | One time password of the booking. |
| uid | STRING | UID of the booking. |
| conferenceData | OBJECT Properties{{STRING(requestId)}(createRequest)} | Conference data of the booking. |
| appsStatus | ARRAY Items[{STRING(appName), STRING(type), INTEGER(success), INTEGER(failures), [STRING(error)]\(errors), [STRING\(warning)](warnings)}($app)] | Application status of the booking. |
| eventTitle | STRING | Event title of the booking. |
| eventDescription | STRING | Event description of the booking. |
| price | INTEGER | Price of the booking. |
| currency | STRING | Currency of the price of the booking. |
| length | INTEGER | Length of the booking. |
| bookingId | INTEGER | ID of the booking. |
| metadata | OBJECT Properties{} | Metadata of the booking. |
| status | STRING | Status of the booking |
JSON Example
{
"label" : "Booking Created",
"name" : "bookingCreated",
"type" : "calcom/v1/bookingCreated"
}Booking Ended
Name: bookingEnded
Triggers when a booking ends.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| type | STRING | Type of the meeting that ended. |
| title | STRING | Title of the meeting that ended. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
| organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
JSON Example
{
"label" : "Booking Ended",
"name" : "bookingEnded",
"type" : "calcom/v1/bookingEnded"
}Booking Rescheduled
Name: bookingRescheduled
Triggers when a booking is rescheduled.
Type: DYNAMIC_WEBHOOK
Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| bookerUrl | STRING | Booker URL. |
| title | STRING | Title of the booking. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| additionalNotes | STRING | Additional notes of the booking. |
| type | STRING | Type of the booking. |
| description | STRING | Description of the booking. |
| eventTypeId | INTEGER | ID of the event type of the booking. |
| hideCalendarNotes | BOOLEAN Optionstrue, false | Whether the calendar notes are hidden. |
| hideCalendarEventDetails | BOOLEAN Optionstrue, false | Whether the calendar event details are hidden. |
| hideOrganizerEmail | BOOLEAN Optionstrue, false | Whether the organizer email is hidden. |
| schedulingType | STRING | Scheduling type of the booking |
| seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
| seatsShowAttendees | BOOLEAN Optionstrue, false | Whether the seats show attendees. |
| seatsShowAvailabilityCount | BOOLEAN Optionstrue, false | Whether the seats show availability count. |
| customReplyToEmail | STRING | Custom reply to the email. |
| organizer | OBJECT Properties{{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
| attendees | ARRAY Items[{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), {STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}($personRecord)] | Attendees of the booking. |
| customInputs | OBJECT Properties{} | Custom inputs of the booking. |
| responses | OBJECT Properties{{{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), {STRING(label), BOOLEAN(isHidden)}(title), {STRING(label), BOOLEAN(isHidden)}(notes), {{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), {STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
| userFieldsResponses | OBJECT Properties{} | User field responses of the booking. |
| location | STRING | Location of the booking. |
| destinationCalendar | ARRAY Items[{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}($calendar)] | Destination calendar of the booking. |
| iCalUID | STRING | UID of the iCal. |
| iCalSequence | INTEGER | Sequence of the iCal. |
| requiresConfirmation | BOOLEAN Optionstrue, false | Whether booking requires confirmation. |
| oneTimePassword | STRING | One time password of the booking. |
| uid | STRING | UID of the booking. |
| videoCallData | OBJECT Properties{STRING(type), INTEGER(id), STRING(password), STRING(uri)} | Video call data of the booking. |
| rescheduledBy | STRING | Booking rescheduled by user. |
| conferenceData | OBJECT Properties{{STRING(requestId)}(createRequest)} | Conference data of the booking. |
| appsStatus | ARRAY Items[{STRING(appName), STRING(type), INTEGER(success), INTEGER(failures), [STRING(error)]\(errors), [STRING\(warning)](warnings)}($app)] | Application status of the booking. |
| eventTitle | STRING | Event title of the booking. |
| eventDescription | STRING | Event description of the booking. |
| price | INTEGER | Price of the booking. |
| currency | STRING | Currency of the price of the booking. |
| length | INTEGER | Length of the booking. |
| bookingId | INTEGER | ID of the booking. |
| rescheduleId | INTEGER | ID of the rescheduled booking. |
| rescheduleUid | STRING | UID of the rescheduled booking. |
| rescheduleStartTime | STRING | Rescheduled start time of the booking. |
| rescheduleEndTime | STRING | Rescheduled end time of the booking. |
| metadata | OBJECT Properties{} | Metadata of the booking. |
| status | STRING | Status of the booking |
JSON Example
{
"label" : "Booking Rescheduled",
"name" : "bookingRescheduled",
"type" : "calcom/v1/bookingRescheduled"
}What to do if your action is not listed here?
If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
How is this guide?
Last updated on