DEV Community

VoiceFleet
VoiceFleet

Posted on • Originally published at voicefleet.ai

Building AI Phone Agents That Actually Book Appointments: Dentally API Integration

Building AI Phone Agents That Actually Book Appointments

Most "AI receptionists" are fancy voicemail. They answer, transcribe, email you. That's a pipeline, not a solution.

The real engineering challenge is two-way integration with live booking systems. Here's how we approached it with Dentally's API.

The Architecture

Incoming Call → Speech-to-Text → Intent Classification
    ↓
Context Engine (patient lookup, availability check)
    ↓
Dentally API ← Real-time sync → Appointment Book
    ↓
Action (book/reschedule/cancel) → Confirmation SMS
    ↓
Speech-to-Text Response → Caller hears confirmation
Enter fullscreen mode Exit fullscreen mode

Key Technical Challenges

1. Real-Time Availability Sync

You can't cache appointment data. Between when you check availability and when the caller decides, another patient could book that slot (front desk, online booking, another AI call).

Solution: optimistic locking. Check availability, present options, re-verify at booking time, handle conflicts gracefully ("That slot was just taken — how about 30 minutes later?").

2. Patient Matching

Callers don't give you a patient ID. They say "It's Mary — Mary O'Sullivan." You need fuzzy matching against the patient database by name, DOB, phone number, or combination.

We use a scoring system: phone number match = high confidence, name + DOB = confirmed, name only = ask for verification.

3. Intent Classification for Medical Contexts

"I need to see the dentist" could mean:

  • Routine check-up (30 min, any dentist)
  • Specific treatment follow-up (variable, specific dentist)
  • Emergency (same-day, any available)

Getting this wrong means booking the wrong appointment type and duration. We classify through targeted questions rather than trying to infer from a single statement.

4. GDPR-Compliant Data Access

The AI sees: availability, patient contact details, appointment types.
The AI does NOT see: clinical notes, X-rays, treatment plans, financials.

This isn't just policy — it's enforced at the API scope level.

Results

  • 90-second average call duration for bookings
  • Zero staff involvement for standard appointments
  • 35% reduction in no-shows via automated confirmation calls
  • Handles unlimited concurrent calls (vs. 1 per human receptionist)

What We Learned

The hard part isn't the AI — it's the plumbing. Speech recognition, intent classification, and natural language generation are largely solved problems. Making them work reliably with a live booking system that has its own rules, constraints, and edge cases? That's where the engineering lives.


We're building this at VoiceFleet for dental practices, restaurants, and service businesses. If you're working on similar integrations, happy to discuss architecture choices.

Top comments (0)