Cal.com Scheduling Integration

Connect Cal.com to your support widget so the AI books, reschedules, and cancels meetings inside the chat. See how scheduling actions work and what they need.

Cal.com Scheduling Integration

A visitor lands on your pricing page, likes what they read, and types "can I talk to someone this week?" in the chat. With an answer-only bot, that is where the thread stalls. The bot pastes a link, the visitor opens a new tab, the moment cools off, and half of them never finish booking. We wired Cal.com straight into the BestChatBot widget so the booking happens in the same chat window, while the visitor is still warm. The agent checks real availability, holds a slot, and confirms the meeting without anyone leaving the page.

This is a scheduling action, not a redirect. The widget reads your live Cal.com calendar, books against it, and writes the event back. Cal.com sits in the BestChatBot integrations catalog as the scheduling connector, one of a small set of tools the agent can act through. Here is how it fits together, what it needs to run, and where the agent draws the line.

What the Cal.com connection does in the widget

The widget pairs your grounded answers with one calendar your team already runs. When Cal.com is connected, the AI gains a small set of scheduling actions: it can look up open times, book a meeting, reschedule an existing one, and cancel. The visitor talks in plain language ("any 30-minute slots Thursday afternoon?") and the agent turns that into a real calendar operation.

One detail matters before you set anything up. The widget connects to a single calendar tool, so you pick Cal.com or Calendly, not both at once. That keeps every booking flowing into one source of truth instead of splitting your availability across two systems that can double-book each other. If your team already lives in Cal.com, this is the path that fits.

The agent still answers from your knowledge base for everything else. A question about your refund policy gets a grounded reply with a source; a request to meet gets a booking. The whole thing runs on the same website widget you already drop onto your pages, so there is no second tool to install. Same chat, two different jobs, and the visitor never has to know which is which.

One Widget, Two JobsSupport WidgetAnswers QuestionsGrounded reply with a sourceBooks a MeetingReads your calendar, holds a slot

How a booking happens inside the chat

A booking is a short, visible sequence the visitor can follow in real time. Nothing happens behind a curtain, and the agent confirms every step in writing before it commits anything to your calendar.

  1. The visitor asks for a time, in their own words.
  2. The agent reads your live Cal.com availability and offers real open slots.
  3. The visitor picks one.
  4. The agent books it, writes the event to your calendar, and posts a confirmation in the chat.

Because the agent works off your actual calendar rather than a cached guess, the slots it offers are the slots that are truly free at that second. If two visitors race for the same Friday morning, the calendar settles it the way it always would, and the second visitor sees the next opening instead of a clash. Rescheduling runs the same way: the visitor names the meeting, the agent finds it, offers new times, and moves it.

We think the win here is momentum. A booking that takes three replies in a chat beats a link that takes three tabs and a fresh login. The fewer steps between intent and a confirmed meeting, the more meetings you actually keep. This is the same pattern behind our broader appointment booking actions, which cover check, book, and cancel across any connected calendar.

How a Booking HappensAsks fora TimeChecks RealAvailabilityVisitor Picksa SlotBooked &Confirmed

Why scheduling actions need a verified identity

Reading your public availability is harmless. Booking, moving, or canceling a specific person's meeting is not, so those actions sit behind a verified identity. The widget will not let an anonymous visitor cancel someone else's call or book under a name they typed on the spot.

When a visitor is signed in on your site, your app hands the widget a signed token that proves who they are. The agent pins the email and name from that token, not from whatever the visitor types into the chat. That pinning is what stops one person from booking or canceling as another. No token means no customer-specific action: the agent can still show open times, but it stops short of writing to a real account until the identity checks out.

This is a deliberate design choice, not a limitation we are apologizing for. Calendar actions touch real people's time, so they earn the same identity gate as any other sensitive operation. The token travels with every request the agent makes, so the right person stays attached to the right meeting from the first reply to the final confirmation.

Who Can Book a Real MeetingVisitor Wantsto BookSigned InBooks, reschedules, cancelsNo Verified IdentityShows open times only

Connecting Cal.com, and what stays off your servers

Linking Cal.com is a one-time step in your dashboard. You authorize the connection, the widget gains its scheduling actions, and you are done. BestChatBot supports both OAuth and API-key connections, so you use whichever your Cal.com plan offers. If your stack runs deeper than a single calendar, the same secure-connection model backs the support agent API and the other connectors your team wires up.

Your credentials never sit on our servers in the open. A specialized provider stores them encrypted and refreshes the access tokens on its own, so the widget asks that provider to run a booking rather than holding your keys directly. You can revoke the connection at any time, and the scheduling actions switch off the moment you do.

Scheduling actions run on the Pro and Business plans. Grounded answers work on every tier, but action execution against a live calendar is part of the paid action library, alongside the other seven connectors. If you are weighing which plan covers the actions your team needs, the pricing guide lays out what each tier includes.

Your Calendar Keys Stay ProtectedAuthorizeOnceKeys StoredEncryptedWidget Booksfor YouRevoke anytime from your dashboard

When the agent should not book, and what it does instead

A scheduling agent that books anything on request is a liability, not a feature. The widget holds back in a few cases on purpose, and each one is a guardrail rather than a glitch.

If a visitor cannot be identified, the agent shows availability but does not write to your calendar. If a requested time is gone, it offers the nearest real opening instead of forcing a clash. And if the visitor asks something the connection does not cover, like changing the meeting host or editing your booking rules, the agent says so plainly rather than inventing a capability it does not have. That honesty comes from the same grounding discipline that runs the rest of the widget: the agent declines when a request falls outside what it can actually do.

When a request needs a human, escalation is a ticket, not a vague promise. The agent can route the visitor's question into your team's inbox through a connected support tool so a real person picks it up. The visitor leaves with either a booked meeting or a tracked ticket, never a dead end.

FAQ

Can the chatbot book a Cal.com meeting without leaving the chat?

Yes. Once Cal.com is connected, the agent reads your live availability, offers real open slots, and books the meeting inside the same chat window. The visitor does not open a separate booking page or start a new login.

Can I use Cal.com and Calendly at the same time?

No. The widget connects to one calendar tool, so you choose Cal.com or Calendly. Keeping a single source of availability stops the two systems from double-booking the same slot.

Does the agent need to know who the visitor is to book?

For customer-specific actions, yes. Booking, rescheduling, and canceling a real meeting require a verified identity through a signed token from your site. The agent pins the email and name from that token, so one visitor cannot act as another. Without it, the agent shows times but does not write to your calendar.

Which plan includes Cal.com scheduling actions?

Action execution against a live calendar runs on the Pro and Business plans. Grounded answers are available on every tier, but the scheduling actions are part of the paid action library.

Where are my Cal.com credentials stored?

Not in the open on our servers. A specialized provider holds them encrypted and refreshes tokens automatically, and the widget asks that provider to run each booking. You can revoke the connection from your dashboard whenever you want.

To see which plan fits the way your team wants to run grounded answers and live booking, head to pricing.

Subscribe to BestChatbot

Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe