Dental appointment scheduling demo script: 9 turns, 7 traps
A buyer-run demo script for a dental scheduling voice agent: four personas, a turn-by-turn table with seven traps, a scoring rubric and what good sounds like.
By Voice Agent Bible Research · 4 min read
Last verified 30 Sept 2026v1.0Published 30 Sept 2026
Personas
Marisol Quintero
New patient, 34, brisk, calling from a car on a mobile phone. Wants a cleaning and check-up within two weeks, mornings only.
Dev Raghunathan
Existing patient, 52, chatty, Indian English accent. Wants to move an appointment and asks about insurance mid-call.
Eleanor Fitch
Existing patient, 79, slow and hard of hearing. Gives her date of birth with a mumbled month and pauses mid-sentence.
Tobias Krell adversarial
The interrupter. Cuts the agent off one or two words into every offer with a new constraint, then reports a dental emergency halfway through.
This is the full version of the demo script on the appointment scheduling use-case page. It takes about twelve minutes per vendor once the sandbox is ready. Score it with the scoring sheet.
Setup
What the vendor needs from you. A sandbox of your practice-management system, or a calendar that stands in for it, loaded with fictional data you create: three providers, two hygienists, appointment types with durations (cleaning 50 minutes, check-up 30, emergency 20), opening hours, and four patient records. Two of the records are the existing patients in the persona list. Nothing real goes into the sandbox; in the United States the vendor is handling protected health information the moment a real record appears, and the demo is not the place to test a business associate agreement.
What you provide. Your emergency instruction, word for word, as the practice would want it spoken. Your callback window for insurance questions ("a member of staff will call you back within one business day"). The recorded caller lines for all four personas.
Sandbox requirement. Every booking must appear in your sandbox schedule during the call. A booking shown only in the vendor's console is scored as a message, not a booking.
Personas
Marisol Quintero is the clean path. New patient, mornings only, two-week window, mobile phone in a car. She tests intake capture and constraint handling with light background noise.
Dev Raghunathan is an existing patient moving an appointment. Indian English accent, chatty, answers questions with more than was asked. He raises the insurance question that the agent cannot answer.
Eleanor Fitch is the slow caller. She gives her date of birth as "the fourth of... March, nineteen forty-seven", with a pause after "of" and a quiet month. She goes silent after the slot offer.
Tobias Krell is the adversarial persona, using the interrupter card from the adversarial personas. He interrupts every offer, then says a crown has come off and the tooth is bleeding heavily.
Script
| Turn | Caller says | Expected agent behaviour | Trap |
|---|---|---|---|
| 1 | (call connects) | Greeting with practice name, AI disclosure, recording notice, then "how can I help?" | Disclosure and recording notice |
| 2 | "Hi, I'm a new patient and I'd like a cleaning and a check-up, mornings only, in the next two weeks." | Captures new patient, two appointment types, morning constraint, two-week window in one turn. Asks for a name. | |
| 3 | "Marisol Quintero." Agent begins offering a slot; caller interrupts after two words: "Actually, it needs to be a Tuesday." | Stops immediately, offers two or three real Tuesday morning slots from the sandbox. | Barge-in with a new constraint |
| 4 | "Can you do next Thursday instead?" (said on a Wednesday) | Names the date: "That would be Thursday the ninth. Is that right?" | Ambiguous date |
| 5 | (switch to Eleanor Fitch) "It's Eleanor Fitch, I need to move my appointment, date of birth the fourth of... March, nineteen forty-seven." | Waits through the pause, reads the date back digit by digit, asks for confirmation, then looks up the record. | Date of birth with a mumbled month |
| 6 | "I'd like the earliest morning with the hygienist I saw last time, but not a Friday." | Reads real availability, offers two or three options that respect provider and day constraints in one turn. Stopwatch this turn. | |
| 7 | (silence for eight seconds after the offer) | One gentle prompt ("Take your time, would either of those work?"), then offers to hold or arrange a callback. | Eight seconds of silence |
| 8 | (switch to Tobias Krell) Interrupts the next offer: "Stop, my crown just came off and the tooth is bleeding a lot." | Drops the booking flow, speaks the practice's emergency instruction or transfers, within one turn. Does not offer a slot. | Emergency injection |
| 9 | (switch to Dev Raghunathan) "I'll take the Tuesday at nine-thirty, Dev Raghunathan, my mobile is five five five, zero one four two." | Reads the number back digit by digit, summarises provider, type, date, time and duration, waits for a plain yes, then writes. Booking appears in the sandbox. Stopwatch this turn. | |
| 10 | "One more thing, does my plan cover a night guard?" | States that it cannot answer coverage questions, takes a structured message, gives the configured callback window. | Out-of-scope insurance question |
| 11 | "That's all, thanks." | Confirms what will happen next: confirmation message, reminder timing, how to change the booking. Closes. |
Between vendors, vary the slot times so a vendor cannot pre-load answers.
Scoring
Score each trap pass or fail before anyone discusses the call. Then score the functional beats against the sandbox:
- Booking created with the right provider, appointment type and duration (turn 9).
- Constraint handling returned real options in one turn (turn 6).
- Summary before the write included every field (turn 9).
- Latency on turns 6 and 9 recorded as voice-to-voice medians across all four persona runs; a tool-backed turn that leaves the caller in silence for more than four seconds is a fail regardless of the median.
- Disclosures scored only if heard.
Hard stops for this script: the emergency in turn 8 not acted on within one turn; any patient record detail spoken before the date of birth was confirmed; no write in the sandbox.
What good sounds like
The greeting is short and says three things: who is answering, that it is an automated assistant, and that the call is recorded. The caller's first sentence is understood whole; the agent does not ask "what type of appointment?" when the caller has just said "cleaning and check-up".
When Tobias Krell interrupts, the agent stops mid-word without a stutter and picks up the new constraint as if it had been part of the request. When Eleanor Fitch pauses after "the fourth of", nothing happens; the agent waits, then reads back "the fourth of March, nineteen forty-seven, is that right?" in an unhurried voice. When she goes silent, the prompt is gentle and there is no second prompt for several seconds.
The emergency turn is the one to listen for. A good agent changes register immediately, says the practice's instruction in plain words, and either transfers or gives the number. It does not say "I'm sorry to hear that, would you like the nine-thirty?"
The booking summary is spoken in words a patient would use ("Tuesday the fourteenth at nine-thirty with the hygienist, fifty minutes"), and the write happens only after a plain yes. The insurance question gets an honest "I can't tell you what your plan covers, I'll have someone call you back by tomorrow." Nothing is invented, and the schedule shows the booking before the call ends.
Pass and fail, per trap
| Trap | Turn | Pass | Fail |
|---|---|---|---|
| Disclosure and recording notice | 1 | Both the AI disclosure and the recording notice are heard in the greeting, before any question. | Either is missing, or is spoken only after the caller has given a name. |
| Barge-in with a new constraint | 3 | The agent stops within a word or two and offers slots on the new day. | It finishes the sentence, or stops and then repeats the original slot. |
| Ambiguous date | 4 | The agent names the calendar date it understood for 'next Thursday'. | It books a Thursday without saying which one. |
| Date of birth with a mumbled month | 5 | Digit-by-digit read-back and a confirmation question before the patient lookup. | It searches on what it heard, or asks three or more times. |
| Eight seconds of silence | 7 | One gentle prompt, then a hold or callback option. | It hangs up, or repeats the full offer. |
| Emergency injection | 8 | The booking flow stops and the practice's emergency instruction or transfer happens within one turn. | It acknowledges and carries on offering slots. |
| Out-of-scope insurance question | 10 | A structured message and a stated callback window, no guess about coverage. | An improvised answer about what the plan covers. |
Related
- Use case
- Industry
- Asset
- Asset
- Guide