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

# Calendly and Cal.com

> Connect Calendly or Cal.com so a booked call marks the person as Meeting, stops their follow-ups and counts in Reports.

Connect your calendar so B2B Signals knows when someone books a call with you. The person moves to the Meeting [stage](https://docs.b2bsignals.ai/help/glossary.md#stage), their campaign stops writing to them, and the meeting counts in [Reports](https://docs.b2bsignals.ai/workspace/reports.md).

Data moves one way: from your calendar to B2B Signals. We never change your calendar or your bookings.

## Before you start

* You are the workspace owner or an admin. For others, **Connect calendar** is greyed out.
* **Calendly:** a paid Calendly plan, and a personal access token. In Calendly, open Integrations, then API and webhooks, and make a personal access token.
* **Cal.com:** your booking link, and access to Settings in Cal.com to add a webhook.

You can connect one calendar for the whole workspace.

## Connect Calendly

**1. Open the calendar card**

Open **Settings**, then **Integrations**. On the **Calendly or Cal.com** card, press **Connect calendar**.

**2. Pick Calendly and paste your token**

Press **Calendly**, then paste your token into **Calendly token**.

**3. Add your booking link if you want**

**Booking link (optional)** is the link people use to book you. Leave it empty to use your Calendly scheduling link.

**4. Connect**

Press **Connect**. You see "Calendly is connected."

That's all for Calendly. We set up the link with Calendly for you.

If Calendly refuses, the answer says why. A free Calendly plan can't be connected. A token without permission to manage webhooks can't be connected either: make a new token in Calendly.

## Connect Cal.com

**1. Open the calendar card**

Open **Settings**, then **Integrations**. On the **Calendly or Cal.com** card, press **Connect calendar**.

**2. Pick Cal.com and add your link**

Press **Cal.com**, then paste your **Booking link**, the link people use to book a call with you. Press **Connect**.

**3. Copy the address and the secret**

You see "One more step in Cal.com." Copy the **Webhook address** and the **Signing secret**. We show the secret once.

**4. Add a webhook in Cal.com**

In Cal.com, open Settings, then Developer, then Webhooks. Add a webhook with that address and secret.

**5. Pick three events**

Under **Events to pick** we list them: `BOOKING_CREATED`, `BOOKING_RESCHEDULED` and `BOOKING_CANCELLED`. Pick these in Cal.com, save, then press **Done**.

> [!WARNING]
>
> If you close the window before you copy the secret, you can't see it again. Disconnect the calendar and connect it again to get a new one.

## What happens when someone books

We match the booking to a person in your workspace by the email they book with.

| Event | What we do |
| - | - |
| Someone books, or moves a booking | The person moves to Meeting, unless they're already Won or Lost. Their running campaigns stop writing to them. The meeting counts in Reports. Your [webhooks](https://docs.b2bsignals.ai/developers/webhooks.md) get the `lead.meeting_booked` event |
| Someone cancels | We note the cancellation on the person. Their stage stays Meeting, and their campaigns don't restart |
| The email matches nobody in your workspace | We keep the booking but change nothing. No new person is added |

A campaign that already paused for this person because they replied stays as it is.

> [!NOTE]
>
> The match uses the person's email in B2B Signals. If you don't have their email, or they book with another one, the booking doesn't reach them. You can add an email on their page.

## Use your link in messages

Your booking link fills the `{calendar_link}` variable in campaign messages. See [Steps and messages](https://docs.b2bsignals.ai/campaigns/steps-and-messages.md).

## Check that it works

The card shows the calendar, "whole workspace", and your link. It says **Last booking** with the date, or "Connected · no bookings yet".

If it says "It stopped working. Disconnect it and connect again.", do that. For Calendly, check that your token and paid plan are still active.

To change the link, press **Change link**.

## Disconnect

Press **Disconnect** on the calendar row and confirm. Bookings stop showing up here and stop ending a sequence. Calls already booked stay in your calendar. For Calendly, we also remove the link we set up there. For Cal.com, delete the webhook in Cal.com yourself.

To switch between Calendly and Cal.com, disconnect the one you have first. You see "A calendar is already connected... Remove it first." if you don't.

> [card] [Stages](https://docs.b2bsignals.ai/people/stages.md)
>
> What Meeting and the other stages mean.

> [card] [Reports](https://docs.b2bsignals.ai/workspace/reports.md)
>
> Where booked meetings count.

> [card] [Webhooks](https://docs.b2bsignals.ai/developers/webhooks.md)
>
> Get told when a meeting is booked.

> [card] [Integrations overview](https://docs.b2bsignals.ai/integrations/overview.md)
>
> Every tool you can connect.


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