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

# Cal.com

> Send WhatsApp messages when a Cal.com booking is confirmed, requested, rescheduled or cancelled.

## What is this?

The **Cal.com** integration turns booking events into WhatsApp messages. When someone books, requests, reschedules or cancels a meeting on Cal.com, an automation sends the template you chose — for example a confirmation with the time and a reminder to join.

## What can I do here?

* Send a WhatsApp template for each Cal.com booking event
* Get a ready-made automation that routes each event to the right template
* See every request Cal.com sent, including duplicates and failures
* Have every delivery checked with a signature the platform generates for you

## How to use it

**1. Open the Cal.com page**

Go to **Integrations**, click **Cal.com**, then **Connect**.

**2. Enter your Cal.com details**

Paste your **Cal.com API key** (in Cal.com under **Settings → Developer → API keys**).

**3. Choose your messages**

Pick a WhatsApp template for each event you want to message about:

| Event | When it happens |
| - | - |
| **Booking confirmed** | A booking is confirmed |
| **Booking requested (awaiting confirmation)** | Someone requested a booking that you still need to confirm |
| **Booking rescheduled** | A booking was moved to a new time |
| **Booking cancelled** | A booking was cancelled |

Leave an event empty to send nothing for it.

**4. Set up and activate**

Click **Set up and activate**. The platform registers the webhook with Cal.com for you and creates a ready-made automation that sends the right template for each event. You can open that automation in the builder any time.

## Things to know

* **The customer's phone number** comes from the attendee's booking details. Depending on your booking form it can be the attendee's phone, an *attendee phone* field, an SMS-reminder number, or a phone location. Add a phone field to your event type so every booking can be messaged.
* **Repeats are ignored.** If Cal.com sends the same event twice, the customer isn't messaged twice.

## Troubleshooting / Technical Notes

* **Connecting fails.** Check the details you entered and that they belong to the right Cal.com account. The error from Cal.com is shown on the page.

* **No messages are sent.** Check the connection shows **Connected**, a template is chosen for the event, and the template is approved.

* **A request shows as failed.** Open the connection's **Activity** tab and select the request to see the error and its raw body. A missing phone number is the most common cause.

* **Webhooks look missing.** On the connection page, click **Verify on Cal.com** to check they are still registered. If any are missing, disconnect and reconnect to register them again.

* **You rotated your key or token.** Open the connection's **Settings** tab and update the credentials.

## Related docs

* [Integrations Overview](https://docs.xpressbot.org/workspace/integrations/overview.md)
* [Webhooks](https://docs.xpressbot.org/workspace/integrations/webhooks.md)
* [Templates](https://docs.xpressbot.org/workspace/whatsapp/templates.md)
* [Automation Overview](https://docs.xpressbot.org/workspace/automation/overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.