Book Appointments by Phone With an AI Voice Agent

Booking by phone looks simple until you count the back-and-forth: the caller names a day, the front desk looks at the calendar, the slot is gone, a second slot is offered, the caller needs to check something, and eight minutes later a single appointment exists. During busy periods that conversation is exactly what goes unanswered. A booking agent takes over the routine part. It asks what service the caller wants, collects name and phone number, reads real availability from a connected Cal.com calendar, offers a few open times, and books the one the caller picks. When no calendar is connected it does something less ambitious but still honest: it collects the details of the request and tells the caller that staff will confirm. Calldesk warns you at publish time if your flow collects appointments with no calendar connected, and you can ask the publish to fail instead, so you never ship an agent that implies a booking it cannot make. The service-appointment and appointment-booking templates provide a starting flow, and extraction fields such as vehicle, service type or preferred time can be changed to suit your trade. Each call leaves a summary and transcript, so you can verify what was booked.

How it works

  1. Connect a Cal.com calendar under Integrations and create the event types that match what you sell, so the agent has real availability to read.
  2. Create an agent from the appointment-booking template (or service-appointment for trades and workshops) and edit the questions to match your services.
  3. Add extraction fields for the details your team needs before a visit, for example service type, address or vehicle, alongside name and phone number.
  4. Publish with requireBookingTools set to true if you want the publish refused whenever the calendar is not connected, instead of accepting an agent that just takes requests.
  5. Route a number to the version and place test calls that book, change your mind mid-call, and ask for a time that is already taken.
  6. Review summaries and transcripts after real calls, checking that every claimed booking appears on the calendar, and adjust the prompt where the two disagree.

A sample call

An illustrative example written for this page. The business in it is fictional, and this is not a recording of a real call.

  1. AgentThanks for calling Ridgeline Auto Service. I'm an AI assistant and I can book a service appointment for you. What do you need done?
  2. CallerAn oil change and a look at my brakes, they've been squeaking.
  3. AgentI can book that as a combined visit. May I have your name and a good phone number?
  4. CallerDana Whitfield, five five five, zero one seven seven.
  5. AgentThank you, Dana. What vehicle will you be bringing in?
  6. CallerA twenty nineteen Subaru Outback.
  7. AgentI'm seeing openings Thursday at nine thirty and Friday at one fifteen. Which works better?
  8. CallerThursday at nine thirty.
  9. AgentBooked: Thursday at nine thirty for an oil change and brake check on your Outback. Anything else I can help with?
  10. CallerNo, that's it. Thanks.

Features used

  • Calendar booking: With a Cal.com calendar connected the agent reads availability and books the slot during the call.
  • Structured field extraction: Service type, vehicle, name and phone number are saved as fields on the call record.
  • Publish warnings and requireBookingTools: Publishing warns, or can refuse, when a flow collects appointments but no calendar is connected.
  • Call summary and full transcript: You can compare what the caller was told against the calendar entry.
  • Call testing and simulation test cases: Test calls and simulation test cases let you exercise taken slots and caller changes of mind before launch.
  • API and webhooks: A call-completed webhook can push the booking details into a CRM or job system.

Calendars connect through Cal.com (Google, Outlook and iCal calendars via Cal.com). A Cal.com account is needed.

Things to consider

  • Calendar booking relies on a connected Cal.com calendar. Without one the agent takes a request and nothing more, so make that explicit in the script.
  • Collect just the information you need to schedule. Avoid asking for sensitive details such as health or payment information unless your processes and counsel say it is appropriate.
  • Check booked slots against the calendar for the first days of live use so a mismatch is caught early.
  • Calldesk does not currently claim any compliance certification, so if your industry requires one, ask us what we can show you before you rely on it.

What Calldesk costs

Calldesk charges per minute of call time, with three plans. There is no monthly minimum and no per-booking or per-transfer fees, and you can cancel any time.

  • Lite (2¢ per minute): an efficient engine with a clear, English-only voice. Suited to straightforward calls such as confirmations and quick questions, where cost matters most. Voice: Clear and efficient. Response speed: Good. Reasoning: Good.
  • Standard (5¢ per minute): a fast, strong engine with a natural voice. Suited to most businesses: reception, booking, intake and after-hours coverage. Voice: Natural. Response speed: Fast. Reasoning: Strong.
  • Pro (9¢ per minute): our strongest engine with our most expressive voice. Suited to complex or high-stakes calls where reasoning and tone matter most. Voice: Most expressive. Response speed: Fast. Reasoning: Strongest.

Phone carrier charges are separate. Phone numbers from Calldesk are a paid extra on every plan: Telnyx $1.00 per month per number plus 1 cent per inbound minute; Twilio $2.00 per month per number plus 1.5 cents per inbound minute. Registering a number you already own costs nothing extra. Outbound calls use your own carrier. Expert backup is an optional extra on Lite and Standard at 1.5 cents per minute; it hands the turns your agent is unsure about to a stronger model for better accuracy on hard turns.

Prices on this page are read from the same source as the live pricing page. Check the pricing page (/pricing) for the current figures before you decide.

Common questions

Which calendars does it work with?
Live booking goes through a Cal.com account, which can connect Google, Outlook and iCal calendars. Other calendar systems can be reached through a function step that calls your own endpoint, which you would need to build.
What if the caller wants a time that is not free?
The agent reads availability and offers open slots. You can instruct it to offer the nearest alternatives or to take a request for staff to confirm.
What happens if I forget to connect the calendar?
The version is published with a booking_without_calendar warning, and the agent takes a request instead of booking. Set requireBookingTools to true to have the publish refused instead.
Can it collect job details before the visit?
Yes. Extraction steps collect named fields, such as service type or address, and they appear on the call record and in webhooks.
Does it send confirmations?
Confirmation messages are not part of the booking step itself. Use a call-completed webhook to trigger your own email or text confirmation, and check messaging consent rules before sending texts.

Included on every plan: Call summary; Full transcript; Structured field extraction (name, reason for the call, and anything else you ask for); Call transfers; Keypad tones (DTMF); Knowledge base; Calendar booking; Call testing and live call monitoring; API and MCP server; 40+ languages (non-English languages need the Standard or Pro voice; Lite's voice is English only).