Appointment scheduling assistant
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
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)
5. Test and validate
Use sandbox calendar records and test identities. Don’t create, change, or cancel real customer appointments during testing.
Repeat critical scenarios before release. A tool mock checks behavior under a supplied result, not the calendar integration. See plan test coverage.
Next steps
- Tools: Google Calendar, Function tools
- Structured outputs: Extract structured data
- Multichannel: Web integration