Skip to main content
Same calling convention as the other Live-Call Tools pages — authenticated with x-vapi-secret, not a dashboard JWT.
Which tools a call gets depends on its workflow. New Patient Journey calls get check_availability and book_appointment. Cancellation, Reschedule, and Care-Gap follow-up calls get verify_patient, get_upcoming_appointment, check_availability, reschedule_appointment, cancel_appointment, and document_and_escalate, but only when the clinic has the EMR sandbox turned on (see Sandbox Configuration). Emma’s internal test calls can also use them.

verify_patient

Checks a spoken date of birth against the patient already matched by phone number.
string
required
Result
A patient with no date of birth on file is treated as verified automatically — there’s nothing to check a mismatch against.

check_availability

Lists open slots around a given date, optionally for a specific provider.
string
Defaults to any provider if omitted
string
Defaults to today if omitted
Result
startsAtSpoken is computed server-side in the clinic’s own timezone — the model is never asked to work out weekday or local time from the raw ISO string itself.

book_appointment

Books the slot the caller chose.
string
required
string
required
string
required
Result
A slot that’s already taken returns success: false with a reason rather than a shape error — there’s no separate conflict status code on this route the way there is on the FHIR facade’s $book.

get_upcoming_appointment

Looks up the patient’s next scheduled appointment, if any. No arguments.
Result
found: false when there’s nothing on the books.

reschedule_appointment

Moves the patient’s upcoming appointment to a new time.
string
required
Result
Fails with error: “no appointment on file” if the patient has nothing upcoming to move.

cancel_appointment

Cancels the patient’s upcoming appointment. No arguments.
Result

document_and_escalate

Records clinical findings from the call — lab orders, referrals, medication notes — and optionally flags the conversation for the clinical team.
string
string
string
boolean
string
boolean
Result