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

# Meeting Booking

> Let the AI assistant offer meeting times and confirm bookings in chat

Connect Calendly or Cal.com and the assistant will offer an inline scheduler whenever a visitor asks to book a call, demo, or meeting — no manual handoff to a booking page required.

<Info>Meeting Booking is a **Pro** plan feature. See [Billing & Plans](/billing-and-plans).</Info>

***

## Connecting a provider

Go to **Settings > Booking**. You can connect one scheduling provider per workspace — pick Calendly or Cal.com.

### Calendly

1. In Calendly, go to **Integrations > API & Webhooks** and create a **Personal Access Token**.
2. In ReplyBubble, select **Calendly**, paste the token, and enter your **Scheduling URL** (e.g. `https://calendly.com/your-team/intro-call`).
3. Click **Connect Calendly**.

ReplyBubble uses the token to register a webhook subscription automatically, so booking confirmations sync back into conversations. This requires a Calendly **Standard plan or higher** — webhook subscriptions are a paid Calendly feature.

### Cal.com

1. In ReplyBubble, select **Cal.com** and enter your **Scheduling URL** (e.g. `https://cal.com/your-team/intro-call`).
2. Click **Connect Cal.com**. ReplyBubble generates a webhook endpoint URL and a one-time secret.
3. In Cal.com, go to **Settings > Developer > Webhooks**, create a webhook using that endpoint URL and secret, and subscribe it to booking events.

<Warning>
  The Cal.com webhook secret is shown only once, right after you connect. Copy it immediately —
  if you lose it, disconnect and reconnect to generate a new one. The integration stays inactive
  until the webhook is configured on the Cal.com side.
</Warning>

The scheduling URL must use `https://` (plain `http://` is only accepted for `localhost` during local development) — the assistant prefills it with the visitor's name, email, and conversation ID, so an insecure URL would leak that data.

***

## How the AI offers booking

When a visitor asks to book, schedule, or set up a call, demo, or meeting, the assistant sends a short message (e.g. "Sure — pick a time that works for you below.") and then shows the inline scheduler card. The assistant never pastes a raw scheduling link into the chat — it always uses the scheduler card so the booking stays trackable.

## The in-widget scheduler card

The scheduler card embeds your Calendly or Cal.com page directly in the chat as an iframe, prefilled with:

* The visitor's name and email, from [identity verification](/user-verification) or a previously captured contact
* The conversation ID, passed through Calendly's `utm_content` field or Cal.com's `metadata`, so the confirmation webhook can link the booking back to the right conversation

A **"Open in new tab"** link below the card opens the same prefilled scheduler in a full page, for visitors who prefer not to book inline. Clicking it — or completing a booking — is recorded as a booking-click event on the visitor's contact and emits a `contact:booking_requested` event that notification channels (webhooks, Teams, etc.) can act on.

Once a booking is confirmed, the Calendly/Cal.com webhook posts a confirmation message into the conversation automatically (e.g. "✅ Meeting booked for Thursday, July 9 at 2:00 PM (America/New\_York)"), using the invitee's own timezone when the provider reports one.

## Extracted-detail confirmation card

Separately from booking, when the AI extracts contact details (name, email, phone, company) from the conversation, it shows a confirmation card asking the visitor to confirm or edit before those details are saved. This is the same contact-capture flow described in [Forms & Lead Capture](/forms-and-lead-capture) — booking and contact capture can both appear in the same conversation.

## Postponed-confirmation ghost link

If a visitor dismisses the confirmation card ("Not now"), a small ghost link stays in the chat so they can reopen it later without losing what was already extracted. Clicking it restores the same extracted details (name, email, phone, company) into the confirmation card.

## Disconnecting

Click **Disconnect** on the Booking settings page. The assistant immediately stops offering the scheduler, and new booking confirmations stop syncing. Reconnect at any time — reconnecting a Calendly integration replaces the stored token; reconnecting Cal.com issues a new webhook secret.

<Note>
  Disconnecting only affects new conversations going forward — it does not remove past bookings
  or messages already posted in existing conversations.
</Note>
