Setup
Connect Cal.com in the dashboard under Integrations → Cal.com → Configure. You need three things from your Cal.com account (Settings → Developer → API keys):- API key — your
cal_live_...key - Username — your Cal.com username (the part in your booking link)
- Event slug — the event type to book, e.g.
30minSet the calendar timezone (e.g.Europe/London) and toggle it on. That’s it — the agent picks up the booking tools automatically.
What the agent can do
Five booking tools are added to the agent automatically once Cal.com is on. You do not write any prompt for them — the agent uses them when the caller asks.Example
Caller: “Can I book a check-up for Monday morning?” Agent: “We have nine o’clock or half past nine on Monday. Which works best?” Caller: “Nine o’clock.” Agent: “Lovely. Can I take your name please?” … “And your email?” … “You’re booked for Monday at nine o’clock. [SEND_SMS: Your appointment is confirmed for Monday 9:00am. See you then.]”
Timezone
Appointments are booked in the calendar’s timezone — the one you set during setup — not the caller’s. When a caller says “nine o’clock”, the agent books 9:00 in your business’s local time. This is correct for a clinic or office callers physically visit, and works for any region with daylight saving handled automatically.Set the correct timezone for each calendar. UK businesses use
Europe/London. Set the matching timezone for other regions.SMS confirmation
The caller automatically receives an SMS whenever an appointment is booked, rescheduled, or cancelled, sent from the same number the call came in on. No extra setup needed.Receiving booking data
When the agent books, reschedules, or cancels an appointment during a call, the action is delivered in your call.completed webhook as abookings array - the reliable way to capture appointments in your own system (insert on created, update on rescheduled, mark cancelled on cancelled). Each entry includes the action, booking_uid, start time, attendee name and email, service, and timezone. See Webhooks - Appointment bookings.
Per-number calendar
Cal.com is configured per phone number, so each number books into its own calendar. Run as many numbers as you like on one agent - each has its own independent calendar, and numbers without Cal.com set up simply do not offer booking.GET to read a number’s calendar (the API key is never returned — it shows api_key_set: true) and DELETE to remove it.
Tips
- The agent confirms the caller’s name and email one at a time, reading each back before booking.
- If the name or email is wrong after booking, the agent cancels and rebooks with the corrected details.
- Your Cal.com API key is stored securely and is never read back through the API.