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

# Cal.com

> Connect Cal.com to book meetings through your chatbot and capture bookings as leads

Connect your Cal.com account so visitors can book meetings through your chatbot, and every booking can be captured as a lead in BubblaV. BubblaV connects to Cal.com with secure OAuth — no API keys for you to manage.

<Note title="What's live">
  Connection, in-chat booking, finding upcoming bookings, and automatic booking-to-lead capture are live today. Visitors can also reschedule or cancel from the chat — the bot lists their upcoming Cal.com meetings with **Reschedule** and **Cancel** buttons that open Cal.com's manage page.
</Note>

## Why Connect Cal.com?

* **Book in chat**: Visitors book meetings without leaving the conversation
* **Capture leads**: Every booking is saved as a lead with attendee details
* **Real-time availability**: Show open slots straight from your Cal.com calendar
* **24/7 scheduling**: Take bookings outside business hours
* **Cal.com or Cal.eu**: Works with both the global (Cal.com) and European (Cal.eu) instances — choose your region when connecting

## Prerequisites

* An active Cal.com account on **Cal.com** (`app.cal.com`) or **Cal.eu** (`app.cal.eu`)
* At least one event type set up in Cal.com

## Connect to Cal.com

<Steps>
  <Step title="Navigate to Integrations">
    Go to **Dashboard** → select your website → **Integrations** → find **Cal.com**
  </Step>

  <Step title="Click Connect">
    Click the **Connect** button next to Cal.com
  </Step>

  <Step title="Choose your region">
    Select the instance your Cal.com account is on: **Global (Cal.com)** for `app.cal.com` accounts, or **Europe (Cal.eu)** for `app.cal.eu` accounts. Each connection remembers the region you pick.
  </Step>

  <Step title="Authorize on Cal.com">
    You'll be redirected to Cal.com. Log in (if needed) and click **Allow** to grant BubblaV access. BubblaV uses PKCE OAuth, so there's no client secret to handle.
  </Step>

  <Step title="Return to Dashboard">
    You'll be redirected back automatically and the integration will show as **Connected** with your Cal.com account details.
  </Step>
</Steps>

## What This Enables

Once connected, BubblaV is authorized to access your Cal.com account with these scopes:

| Scope             | What it allows                                                |
| ----------------- | ------------------------------------------------------------- |
| `BOOKING_READ`    | View your bookings (capture as leads, show "my appointments") |
| `BOOKING_WRITE`   | Create, cancel, and reschedule bookings                       |
| `EVENT_TYPE_READ` | List your event types (show available meetings to book)       |
| `PROFILE_READ`    | Verify the connected account                                  |

Ask the bot things like "I'd like to schedule a consultation" (it shows your bookable meeting types), "show my upcoming meetings" (it lists your bookings), or "I need to reschedule" / "cancel my appointment" (it shows Reschedule/Cancel buttons that open Cal.com's manage page so the visitor can pick a new time or cancel).

## Reconnecting

If your connection expires or you need to switch accounts, click **Reconnect** on the Cal.com integration card. You'll go through the OAuth flow again to get fresh credentials. Reconnect reuses the region you originally chose — to switch regions, disconnect and connect again, picking the other region.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Can't log in / wrong Cal.com instance">
    * Pick the region that matches your Cal.com account when connecting: **Global** for `app.cal.com` accounts, **Europe** for `app.cal.eu` accounts.
    * If bookings aren't working after connecting, disconnect and connect again, selecting the correct region.
  </Accordion>

  <Accordion title="Authorization failed or access denied">
    * Make sure you clicked **Allow** (not Deny) on Cal.com's authorization page.
    * Try disconnecting and reconnecting via the integration card.
    * Ensure you're logged into the correct Cal.com account.
  </Accordion>

  <Accordion title="Redirect URI mismatch">
    * This usually means a temporary mismatch in the connection URL. Try connecting again; if it persists, contact support.
  </Accordion>

  <Accordion title="OAuth client pending review">
    * While BubblaV's Cal.com OAuth client is pending Cal.com admin review, only the client owner can authorize. Other users can connect once it's approved.
  </Accordion>

  <Accordion title="Connection expired">
    * Access tokens refresh automatically in the background.
    * If you see a connection error, click **Reconnect** on the integration card.
  </Accordion>
</AccordionGroup>
