Appointment scheduling assistant
Build an AI receptionist that books, reschedules, and cancels appointments using Assistants and tools
Overview
Build an AI-powered appointment scheduling assistant that handles inbound calls for booking, rescheduling, and canceling appointments. This approach uses a single Assistant with tools for calendar availability, customer lookups, and confirmations.
Assistant Capabilities:
- Real-time availability checks and booking
- Reschedule and cancel with confirmation
- Customer verification and data lookups
- SMS/email confirmations via tools
What You’ll Build:
- An assistant with a focused prompt for scheduling flows
- Tools for calendar availability and booking
- Optional CSV knowledge bases for customers/services
- A phone number attached to your assistant
Prerequisites
- A Vapi account
- Google Calendar or a scheduling backend
1. Prepare data (optional)
Use sample CSVs for customers, services, and appointments during development.
Upload files (optional)
Dashboard
TypeScript (Server SDK)
Python (Server SDK)
- Open your Vapi Dashboard → Files
- Upload the three CSVs and note their file IDs
2. Create calendar tools
Use the Google Calendar integration for availability and booking, or your own API via a custom tool.
Use Google Calendar (recommended)
Custom tools (HTTP)
See: Google Calendar Integration
Configure tools for:
check_availability(service, date)
book_appointment(customer, service, time)
reschedule_appointment(appointmentId, time)
cancel_appointment(appointmentId)
3. Create the assistant
Dashboard
TypeScript (Server SDK)
Python (Server SDK)
4. Make calls
TypeScript (Server SDK)
Python (Server SDK)
cURL (web)
cURL (phone)
create web call
create phone call
5. Test and validate
Next steps
- Tools: Google Calendar, Custom Tools
- Structured outputs: Extract structured data
- Multichannel: Web integration