Request shape
Every tool is the same route with a different toolName, and Vapi can batch more than one tool call into a single request — so the response always echoes back one result per call, matched by toolCallId.Request
Response
resolve_patient_identity
Checks whether the caller matches an existing patient at this clinic, by name or phone.string
The name the caller gave
string
The phone number the caller gave
string
Not currently used in the match — accepted for future use
Result
update_registration_field
Saves one or more registration fields as the caller gives them — Emma calls this repeatedly through the conversation, not once at the end.string
string
string
string
string
string
string
string
boolean
Result
submit_insurance_info
Passes the caller’s insurance details to the clinic’s insurance-verification system and records the outcome.string
required
string
required
string
string
Result
record_self_pay_decision
Records what the caller chose after being told about a self-pay price (a price Emma looks up via the Knowledge Base earlier in the call, not this tool).string
required
“self_pay_continue” or “billing_escalation”
number
The price Emma quoted, for the record
Result
escalate_billing
Bundles up everything known about the call so far, onto the patient’s record for staff to pick up. It doesn’t transfer the call itself; Emma still does that as a separate step.string
Free-text reason for the escalation
Result
