24/7 phone receptionist with appointment booking
A voice agent that picks up on the first ring, day or night, qualifies the caller, and books an appointment into your Google Calendar — then sends a reminder SMS the day before. Works for clinics, law firms, agencies, home services, and any team that loses revenue when calls go to voicemail.
What you'll build
- A voice assistant with a warm, concise greeting prompt.
- A phone widget on Twilio, Plivo, or Telnyx.
- A Google Calendar connection so the agent can read availability and write new bookings.
- A workflow that fires on
booking_createdand texts the caller a confirmation, then a 24-hour reminder.
Step 1 — Create the voice assistant
-
Open Build → Assistants and click Add assistant.
-
Pick a voice-friendly LLM (
gpt-4oorgpt-4o-minifor cost sensitivity). See LLM choice. -
Paste a system prompt that sets expectations about voice pacing, what the agent can and can't do, and the booking goal:
You are the receptionist for Greenview Dental. Greet warmly, confirm the caller's name and phone, ask the reason for the appointment (cleaning, filling, cosmetic), and offer the next two available slots. If they accept, book it. If they decline both, offer to text three more options. Keep replies under two sentences. Never quote prices — say "the front desk will confirm pricing when you arrive."
-
Pick a voice from the Voices library. Pacing matters more than vocal range for receptionist work — start with a "neutral, calm" preset.
Step 2 — Connect Google Calendar
Give the agent the calendar it should read availability from and write bookings into. For a single practitioner or front desk, one calendar is all you need.
- Open the Google Calendar tool and connect the account whose calendar should hold appointments.
- On the assistant from Step 1, open Tools and enable Google
Calendar. Pick the specific calendar to use (e.g.
bookings@greenview.example). - Configure the booking defaults:
- Slot length — e.g. 30 min for cleanings.
- Buffer — 5–10 min between bookings.
- Working hours — when the agent is allowed to offer slots (e.g. Mon–Fri 9am–6pm).
The agent can now check real availability live during the call and create events on confirmation.
Step 3 — Provision a phone number
- Open Channel Setup and connect your Twilio, Plivo, or Telnyx account.
- Buy or import a phone number.
- Open Build → Widgets → Add widget, pick Phone, and link it to the assistant from Step 1.
The number is now live — calls hit the assistant immediately.
Step 4 — Add the SMS confirmation + reminder workflow
- Open Automation → Workflows → Add workflow.
- Trigger:
booking_created(fires when the agent successfully books a slot). - Add nodes in this order:
send_sms— confirmation, fired immediately."Hi {{contact.first_name}}, you're confirmed for {{booking.start_time}} at Greenview Dental. Reply STOP to opt out."wait— until 24 hours before{{booking.start_time}}.send_sms— reminder."Reminder: your Greenview Dental appointment is tomorrow at {{booking.start_time}}. Reply C to confirm or R to reschedule."
Save and enable the workflow.
Step 5 — Test the flow end-to-end
- Call the number from your own phone. Say you'd like to book a cleaning for "any morning next week."
- Confirm the booking — you should get the SMS confirmation within seconds.
- Open Engagements → Conversations — the call transcript, captured contact details, and resulting booking should all be visible.
- Check Google Calendar — the new event is there with the caller's name and phone in the description.
What to do next
- Add a team of providers — when one calendar is no longer enough, swap the single calendar for a Calendar Pool that round-robins bookings across multiple calendars (e.g. several dentists or several service techs) without changing anything else about this recipe.
- Handle after-hours differently — see After-hours voicemail flow to take voicemails outside business hours and follow up by SMS.
- Add intent-based routing — use
Intents to tag urgent calls
(
emergency_visit) and forward them straight to the on-call dentist withforward_call. - Sync to your CRM — connect HubSpot or Zoho so each new caller becomes a contact automatically.