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

# Cal.com

> What the Cal.com integration can and can't do, and how to connect it step by step.

# Cal.com

**Category: Scheduling.** Connect Cal.com and your widget can book and cancel meetings for visitors, right inside the chat.

<Note>Integrations are available on the **Pro** and **Business** plans. Cal.com shares the Scheduling category with Calendly, so only one of the two can be active at a time.</Note>

## What This Bot Can Do

The bot does exactly these actions, nothing more. "Needs sign-in" means the visitor must be identified first; otherwise the bot gives a safe, neutral answer.

| Action                 | What it does                                                                                    | Needs sign-in |
| ---------------------- | ----------------------------------------------------------------------------------------------- | :-----------: |
| **Check availability** | Show the visitor open time slots from your calendar, up to 7 days per request.                  |       No      |
| **Book a meeting**     | Schedule a meeting once the visitor picks a slot and gives their name and email.                |       No      |
| **Cancel a meeting**   | Cancel a meeting the visitor booked, found by their email. The bot asks for confirmation first. |      Yes      |

## What It Can't Do

Cal.com is scoped to the actions above. It does **not**:

* Reschedule a meeting (the visitor cancels and books a new time instead)
* List or show all of a visitor's meetings
* Check availability more than 7 days ahead in a single request

## How to Connect

<Note>Connecting an integration requires an **Editor**, **Admin**, or **Owner** role, on the **Pro** or **Business** plan. See [Members & Roles](/workspace/members-roles).</Note>

<Steps>
  <Step title="Get your Cal.com API key" icon="key">
    In Cal.com, go to **Settings → Developer → API keys** and click **+ New** to create a key. Copy it (it starts with `cal_`).

    <Frame>
      <img src="https://mintcdn.com/bestchatbot/E_fxD_6QkwcdI61g/integrations/cal-com-integration/api-key.png?fit=max&auto=format&n=E_fxD_6QkwcdI61g&q=85&s=a29b081ddb4e143e489b67ffb1bc1eba" alt="Cal.com Settings Developer API keys page with the New button" width="2193" height="1197" data-path="integrations/cal-com-integration/api-key.png" />
    </Frame>
  </Step>

  <Step title="Open Integrations" icon="plug">
    In your workspace dashboard, open your **Web Widget → Integrations** tab and find **Cal.com**.
  </Step>

  <Step title="Connect" icon="link">
    Click **Connect**. A secure popup opens — paste your **Cal.com API key** and click **Connect**. Your credentials go to the secure form, never into the chat. If Calendly is currently active, you'll be asked to confirm replacing it.

    <Frame>
      <img src="https://mintcdn.com/bestchatbot/E_fxD_6QkwcdI61g/integrations/cal-com-integration/connect-popup.png?fit=max&auto=format&n=E_fxD_6QkwcdI61g&q=85&s=643a1523eb215ea8af144f2906c14dfc" alt="BestChatBot Cal.com connection popup with the API Key field" width="790" height="921" data-path="integrations/cal-com-integration/connect-popup.png" />
    </Frame>
  </Step>

  <Step title="Choose an event type" icon="calendar-check">
    Cal.com needs one more step: pick the **event type** the bot will book (for example, "30 min meeting"). Until you select one, the integration shows a **needs setup** badge and won't book meetings.

    <Frame>
      <img src="https://mintcdn.com/bestchatbot/E_fxD_6QkwcdI61g/integrations/cal-com-integration/event-type.png?fit=max&auto=format&n=E_fxD_6QkwcdI61g&q=85&s=d47b4a963f4847f5b65d5d6d3d69fc37" alt="Selecting a Cal.com event type from the dropdown in the integration panel" width="1175" height="738" data-path="integrations/cal-com-integration/event-type.png" />
    </Frame>
  </Step>
</Steps>

Once set up, Cal.com's actions become available to your widget right away. You can toggle each capability — **Check availability**, **Schedule meetings**, and **Cancel meetings** — from the integration panel.

<Frame>
  <img src="https://mintcdn.com/bestchatbot/97kdRjnWT0Lew0EI/integrations/cal-com-integration/connected.png?fit=max&auto=format&n=97kdRjnWT0Lew0EI&q=85&s=2c04e72d76d567f5d4f66ebbeee637ab" alt="Connected Cal.com panel showing the selected event type and capability toggles" width="1164" height="820" data-path="integrations/cal-com-integration/connected.png" />
</Frame>

## One per Category

Cal.com is in the **Scheduling** category with Calendly. Connecting one disconnects the other, so your bot always has a single, clear tool for scheduling.

<Warning>If you connect Cal.com while Calendly is active, Calendly is turned off automatically.</Warning>

## Availability

| Plan     | Cal.com |
| -------- | ------- |
| Free     | —       |
| Starter  | —       |
| Pro      | ✅       |
| Business | ✅       |

## Next Steps

<CardGroup cols={2}>
  <Card title="All Integrations" icon="plug" href="/integrations/available-integrations">
    See the full catalog and how categories work.
  </Card>

  <Card title="Agentic Actions" icon="wand-magic-sparkles" href="/integrations/agentic-actions">
    Learn how the bot turns a request into a real action.
  </Card>
</CardGroup>
