This n8n workflow connects a Vapi voice AI receptionist to a dental clinic's booking process. It answers inbound calls, checks availability, checks insurance, and books appointments in Airtable. Urgent or distressed callers are escalated to a live agent through gotoHuman.
The workflow receives Vapi tool call requests through a webhook during a live call and identifies which tool was invoked and its arguments. Availability checks return a mocked set of open time slots based on appointment type and estimated duration. Insurance checks compare the caller's carrier against a mocked in-network list and return an in-network or fallback message.
When a caller books, the workflow normalizes the booking details and creates a call/booking record in Airtable. For escalations, it packages the caller context, sends an asynchronous review request to gotoHuman, and returns a handoff message for Vapi to speak. Unknown requests return a fallback message with the correct JSON payload to Vapi. A separate webhook callback logs gotoHuman approve/reject decisions to Airtable as the raw decision payload.
- Platform
- n8n workflow
- Integrations
- Vapi, Airtable, gotoHuman
- n8n nodes
- if, code, merge, webhook, airtable, sticky note
- Vapi tools
- check_availability, check_insurance, book_appointment, escalate_to_human
- Vapi setup
- Create a Vapi assistant with four API Request tools pointing to the workflow's Vapi Tool Call Webhook
- Availability
- Returns mocked open time slots based on appointment type and estimated duration
- Insurance
- Validates the carrier against a mocked in-network list
- Booking
- Creates a call/booking record in Airtable
- Escalation
- Asynchronous review request to gotoHuman with a handoff message for Vapi
- Logging
- gotoHuman decisions logged to Airtable via a separate webhook callback
- Use cases
- Availability and booking calls, insurance checks before scheduling, urgent or distressed callers