Cal.com AI Booking: Book Inside the Chat
Connect Cal.com and the AI agent books inside the chat: paste your link for an inline calendar, or connect the API for instant confirmed scheduling.
What connecting Cal.com gets you
Cal.com is the provider to choose when you want the appointment locked in during the conversation, on any Cal.com plan. There are three ways to connect it, and booking is one of Evoriqa's agentic actions, so every run is logged whichever you pick.
Advanced mode connects Cal.com's API, which creates a confirmed booking directly: when a visitor names a time, the agent books it on the spot — no follow-up link, no second step for them to forget. Before it proposes anything, it reads your live availability from Cal.com, so when it asks "does Tuesday at 3pm work?", that slot is genuinely open, not a guess it has to retract when the booking fails. Once the visitor agrees, it confirms the appointment then and there.
Simple mode is the zero-setup path: paste your public Cal.com booking-page link — no API key, about thirty seconds — and the visitor gets your real Cal.com calendar — the official Cal.com embed — rendered inline in the chat. They pick a time there, the card flips to "Booked ✓", and the run is logged like any other. It's the fastest way to get visitors booking inside the chat when you'd rather not touch a token.
Connected mode saves a Cal.com API key once at the workspace level, then lets you pick the event type the agent offers from a dropdown of your live Cal.com events. The visitor still books in the official Cal.com embed rendered inline, but because the account is connected the agent can also surface your open times as tappable chips — tap one and the inline calendar opens on that day. You save the key a single time and every chatbot in the workspace can book through it.
| A booking link in your bio | The Cal.com action | |
|---|---|---|
| Where booking happens | On a separate scheduling page | In the conversation itself |
| The time offered | May already be taken | Read from live availability first |
| How it ends | The visitor confirms it later | The agent confirms it in-chat |
Scroll sideways for more columns
Why direct booking matters
The reason to book directly rather than send a link is drop-off. Every extra step between "I'd like Tuesday at 3pm" and a confirmed slot is a chance for a high-intent visitor to wander off and not come back. Because Cal.com lets the agent commit the booking inside the chat, the conversation ends with an appointment on the calendar rather than a link the visitor still has to open.
Connecting it
Connecting Cal.com is a dashboard step. For Simple mode, pick it as your booking provider and paste your public booking link. For Advanced mode, paste a key — from Cal.com → Settings → Developer → API keys — and then choose which event type the agent should book from a dropdown of your live Cal.com events, so there's no ID to copy by hand; from then on the agent can read your Cal.com availability and create confirmed bookings against it. Connected mode uses the same Cal.com API key but saves it once for the whole workspace, then renders the inline calendar with tappable live slots instead of booking directly. If you don't have a Evoriqa workspace yet, create one free at app.evoriqa.com. The booking action is available on every paid Evoriqa plan.
What the visitor experiences
In Advanced mode it feels like talking to someone who can see the calendar. The agent proposes a specific open time — "does Tuesday at 3pm work?" — instead of a range to guess at, and because it has already checked Cal.com, that answer holds rather than being a time it later has to walk back. When the visitor says yes, the appointment is confirmed in the same thread, and they never hear about a slot that has already been taken. In Simple and Connected modes the visitor books it themselves in your official Cal.com calendar rendered inline, and the card confirms once they're done — same result, without the agent handling the details. In those two modes the widget also keeps a persistent "Book a meeting" button above the message box, so a visitor can open the calendar even when the AI never brings it up (you can hide it).
Where it works
Once connected, Cal.com booking runs on every channel the agent does: the website widget, the voice phone line, and chat channels like WhatsApp, Messenger, Instagram, SMS, and Slack. In Advanced mode the in-chat confirmation is the same wherever the conversation happens, because the availability check and the booking sit behind the action rather than behind any one channel. Simple mode shows its inline calendar where there's a screen; on voice and messaging channels without a rich card, the agent shares your booking link instead, so the flow still ends in a booking.
What changes by industry is what gets booked: estate agents book viewings against agent diaries, service centres book workshop slots, and clinics book appointments. The mechanism is identical; the availability behind it is yours.
Cal.com or Calendly?
Both providers can book inside the chat. The difference is the plan: Cal.com's agent-made confirmed booking works on any plan, whereas Calendly needs a paid plan for that same instant booking (its Simple mode gives every Calendly plan an in-chat calendar, and free plans fall back to a single-use link under Advanced mode). If you want the agent committing bookings directly regardless of tier, Cal.com is the pick; if your team already runs on Calendly, read about Calendly. The full side-by-side is in Calendly vs Cal.com for AI booking.
The custom-webhook alternative
Cal.com is one of the two providers with a real availability API, which is what makes the live-slot check possible in the first place. Point the booking action at your own webhook instead and the agent can still create bookings, but it can't read your calendar ahead of time, so it won't pre-filter to open slots the way it does with Cal.com.
Common questions
Does it book directly or send a link? In Advanced mode, directly — Cal.com's API creates the confirmed booking inside the chat, with no separate scheduling page. In Simple and Connected modes the visitor books in your Cal.com calendar rendered inline in the chat. Cal.com's direct booking works on any plan either way.
Can it offer a time that's already taken? No. It reads live availability from Cal.com first, so every time it proposes is genuinely open.
Is each booking recorded? Yes. Booking is a logged agentic action, so you can see what the agent scheduled and when.
What if the slot is taken by the time it books? That's the case the live check is there to avoid: the agent reads availability before it offers a time, so it proposes genuinely open slots rather than guessing and having to retract.
Keep reading
Ready to add AI support to Cal.com?
Point Evoriqa at your website and help docs, and your agent starts answering questions, capturing leads and booking appointments across every channel. Free to start, no credit card.