Appointment Booking Agent
In this tutorial, you’ll build a voice agent that handles appointment scheduling over the phone. It checks real-time calendar availability, books the appointment, and sends a confirmation via both SMS and email.What You’ll Build
A phone agent that:- Collects the caller’s name, preferred service, and availability
- Checks your Google Calendar for open slots in real time
- Books the appointment and adds it to your calendar
- Sends an SMS confirmation with the date, time, and location
- Emails the caller with full appointment details
- Handles scheduling conflicts by suggesting alternatives
Step 1: Create the Agent
- Go to your thinnestAI Dashboard
- Click Create Agent
- Name it:
Appointment Booking Agent - Set the description:
Schedules appointments, checks availability, and sends confirmations
Step 2: Choose the Model
Select GPT-4o as your model. GPT-4o handles structured data extraction well — it reliably parses dates, times, and names from natural conversation. It’s also fast, which keeps the call feeling responsive.Step 3: Connect Tools
Google Calendar
This is the core tool for this agent. Connect it to check availability and create events.- Go to the Tools tab in your agent settings
- Enable Google Calendar
- Click Connect Google Account and authorize access
- Select the calendar(s) the agent should manage
- Check available time slots
- Create new calendar events
- Read existing events to avoid double-booking
SMS
Enable SMS to send booking confirmations to callers.- Enable SMS in the Tools tab
- Configure your sender number
- The agent will send confirmations like:
"Your appointment is confirmed for March 15 at 2:00 PM at 123 Main St. Reply CANCEL to cancel."
Gmail
Enable Gmail to send detailed confirmation emails.- Enable Gmail in the Tools tab
- Connect the Google account you want to send from
- The agent will send emails with full appointment details, preparation instructions, and cancellation policy
Step 4: Set the System Prompt
Copy and paste this entire prompt into the System Prompt field:Important: Replace[YOUR BUSINESS NAME]and[YOUR ADDRESS]with your actual details. Update the services, pricing, and hours to match your business.
Step 5: Assign a Phone Number
- Go to the Phone tab
- Assign a phone number
- Set call direction to Inbound
- Save
Step 6: Test Your Agent
Testing Checklist
| Scenario | What to Test | Expected Behavior |
|---|---|---|
| Happy path | Request a specific date and time | Agent checks calendar, confirms, books, sends SMS + email |
| Slot taken | Request a time you’ve already blocked | Agent says it’s unavailable, suggests 2-3 alternatives |
| Vague time | Say “sometime next week” | Agent offers first few available slots |
| Outside hours | Request a Sunday appointment | Agent explains hours, suggests nearest open slot |
| Cancel request | Ask to cancel an existing appointment | Agent looks up event, confirms, cancels |
| Reschedule | Ask to move an appointment | Agent cancels old, schedules new |
| No email | Decline to give email address | Agent proceeds with SMS-only confirmation |
| Confirm details | Listen for read-back | Agent reads back ALL details before booking |
What to Listen For
- Date/time format: Does the agent say “Tuesday, March fifteenth at two PM” or does it read raw data?
- One question at a time: Does it collect info step by step, not all at once?
- Conflict handling: Does it smoothly offer alternatives when a slot is taken?
- Confirmation: Does it always confirm before booking?
Tips for Improvement
- Add buffer time. Modify your calendar to include 15-minute buffers between appointments so you’re never back-to-back.
- Set up reminders. Configure a campaign to call or text customers 24 hours before their appointment with a reminder.
- Track no-show rates. If no-shows are high, add a “confirm or cancel” reminder call the day before.
- Handle multiple providers. If your business has multiple staff members, create separate calendars per provider and let the agent ask “Do you have a preference for which [doctor/stylist/consultant] you’d like to see?”
- Add preparation instructions. Include service-specific instructions in the confirmation email, like “Please arrive 10 minutes early” or “Bring your insurance card.”
- Enable after-hours booking. Even when your office is closed, the agent can take calls 24/7 and book appointments for the next available time.
Next: Lead Qualification Agent — Build an agent that qualifies leads using the BANT framework.

