VoiceInfra Logo
  • Features
    VoiceInfra

    The all-in-one Voice AI platform for enterprise telephony.

    Explore all features

    Why VoiceInfra?

    CORE 24/7 AI Voice Agents

    Human-like agents that never sleep

    Multi-LLM Support

    Slash AI costs by 70% with smart routing

    Premium Voice Selection

    Voices so real customers don't hang up

    LEAD CAPTURE Smart Website Widget

    Capture leads, not anonymous chats

    Smart Call Management

    Route calls like a Fortune 500 company

    Batch Call Processing

    Scale outbound without scaling headcount

    PLATFORM 60-Second SIP Setup

    Add AI to existing PBX instantly

    Real-Time Actions

    Execute workflows during calls

    All Features

    View all platform capabilities

  • Solutions
    Solutions
    Solutions GuideSolutions Guide

    See our tailored industry solutions.

    View guide
    Use CasesUse Cases

    Explore our use cases and success stories.

    View use cases
    INDUSTRIES Contact Centers

    AI-powered support, 24/7 availability

    Healthcare

    Patient scheduling & automated follow-ups

    Insurance

    Policy support & claims automation

    Logistics

    Automated dispatch & load booking

    Home Services

    24/7 scheduling & dispatch

    BUSINESS NEEDS AI for Telecom MSPs

    Resell AI voice agents to your customers

    Outbound AI at Scale

    500+ AI calls daily in 5 languages

    Multi-Agent Voice AI

    5 autonomous AI agents on one platform

    Self-Deploy on Your PBX

    Add AI to 3CX, Yeastar, or FreePBX

    INTEGRATIONS 3CX

    Extension-based AI agent deployment

    Calendly

    Voice appointment booking

    Zoho

    Customer relationship management

    View All

    Explore 40+ integrations

  • Resources
    Use CasesCompare AlternativesContact SalesBlogDocsContact
  • Pricing
  • Partners
  • Log inGet Started
  • Get Started

Deploy your first AI voice agent today

Register AI agents as extensions on your existing PBX. 5 minutes, zero downtime.

Talk to SalesCompare Alternatives
Platform
  • Voice Agents
  • Call Management
  • Multi-LLM Support
  • SIP Integration
  • All Features
Solutions
  • Contact Centers
  • Healthcare
  • Insurance
  • Logistics
  • Home Services
Resources
  • Blog
  • Docs
  • Compare Alternatives
  • Use Cases
  • Integrations
  • Why VoiceInfra
Countries
  • United States
  • United Kingdom
  • Spain
  • UAE
  • Saudi Arabia
  • Australia
  • India
Company
  • About Us
  • Contact
  • Contact Sales
  • Pricing
  • Partners
Legal
  • Terms of Service
  • Acceptable Use Policy
  • Privacy Policy
Follow us
  • Subscribe by email
  • LinkedIn
  • Twitter
  • Bluesky
VoiceInfra Logo

© 2026 VoiceInfra. All rights reserved.

Build an AI Dental Receptionist | Open Dental Tutorial | VoiceInfra
  1. Blog
  2. Tutorials
Tutorials

Build an AI Phone Assistant for Your Dental Practice

Step-by-step guide to creating an AI receptionist that answers calls, schedules appointments in Open Dental, verifies patients, and transfers to staff when needed. Build it in under 45 minutes.

IH
Izhar Hussain

Founder

November 24, 2025
18 min read
Build an AI Phone Assistant for Your Dental Practice
Share

In this tutorial, you'll build a complete AI phone assistant for your dental practice that:

  • Answers common patient questions (hours, services, insurance, pricing)

  • Looks up patient information and upcoming appointments

  • Books and reschedules appointments directly in Open Dental

  • Transfers complex requests to your front desk staff

  • Works 24/7, even when your office is closed

Time to complete: 30-45 minutes

Technical skill required: None (if you can use Open Dental, you can do this)

What you'll need: VoiceInfra account, phone number, Open Dental API access


The Problem: Your Front Desk is Overwhelmed

If you run a dental practice, this scenario is painfully familiar:

It's Tuesday at 9:30 AM. Your hygienist is running behind, a patient just arrived early, and your front desk phone is ringing off the hook. Your receptionist is juggling:

  • A patient checking in

  • Another patient is asking about insurance coverage

  • A new patient is calling to schedule their first cleaning

  • Someone is calling to reschedule because they're stuck in traffic

What happens? Calls go to voicemail. Patients get frustrated. Appointments don't get booked. Revenue walks out the door.

The numbers don't lie:

  • An average dental practice receives 50-100 calls per day

  • 30% of calls go to voicemail during busy hours

Ready to Transform Your Business Communications?

Discover how VoiceInfra can help you implement the strategies discussed in this article.

Contact SalesBack to Blog
  • Each missed call = potential $200-500 in lost revenue

  • Front desk staff spend 60-70% of their time on the phone

  • You've probably thought about hiring another receptionist, but that's $35,000-45,000 per year, plus benefits. And they still can't answer calls at 7 PM when a patient has a dental emergency.

    There's a better way.


    What You're Going to Build

    By the end of this tutorial, you'll have a fully functional AI phone assistant that handles your dental practice calls like a trained receptionist.

    Your AI assistant will:

    ✅ Answer FAQs instantly - Office hours, accepted insurance, services offered, pre-appointment instructions

    ✅ Verify patient identity - Look up patients by phone number or name in Open Dental

    ✅ Check appointments - "You have a cleaning scheduled for Thursday at 2 PM with Dr. Smith."

    ✅ Book new appointments - Find available slots and schedule directly in Open Dental

    ✅ Reschedule appointments - Move appointments to new times

    ✅ Transfer intelligently - Send complex billing or clinical questions to staff with full context

    ✅ Work 24/7 - Answer calls after hours, weekends, holidays


    Prerequisites: What You Need Before Starting

    Before we begin, make sure you have:

    1. VoiceInfra Account

    • Sign up at voiceinfra.ai (free trial available)

    • You'll need access to the dashboard

    2. Phone System

    Choose one of these options:

    • Option A: Existing PBX system (3CX, Yeastar, FreePBX, Asterisk, etc.) - RECOMMENDED

    • Option B: Twilio or another SIP provider with an existing phone number

    • Option C: WhatsApp Business account (optional - for WhatsApp calling)

    3. Open Dental API Access

    • Open Dental version 21.1 or higher (for API support)

    • API is enabled in your Open Dental installation

    • API key (refer to Open Dental documentation for setup)

    • Your Open Dental database is accessible via the API endpoint

    4. Practice Information Ready

    Gather this information (you'll need it):

    • Office hours

    • Services you offer (cleanings, exams, fillings, crowns, etc.)

    • Insurance plans you accept

    • Pricing for common procedures

    • Pre-appointment instructions (fasting, medications, etc.)

    • Front desk phone number for transfers

    5. 30-45 Minutes of Time

    • Grab a coffee ☕

    • Close Slack

    • Let's build this thing


    Tutorial Overview: 9 Steps to Your AI Receptionist

    Here's what we're going to do:

    Phase 1: Create the AI Agent (15 minutes)

    • Step 1: Create your AI agent in VoiceInfra

    • Step 2: Configure personality and behavior for the dental context

    • Step 3: Add a knowledge base with your practice FAQs

    Phase 2: Connect to Open Dental (20 minutes)

    • Step 4: Set up the patient lookup function

    • Step 5: Configure appointment booking integration

    • Step 6: Test the Open Dental connection

    Phase 3: Finalize & Deploy (10 minutes)

    • Step 7: Set up call transfers to the front desk

    • Step 8: Connect your phone number

    • Step 9: Test everything and go live

    Let's get started! 🚀


    Step 1: Create Your AI Agent (5 minutes)

    First, we'll create the AI agent using VoiceInfra's AI Agent Builder - a guided questionnaire that helps you build agents without any coding.

    1.1 Log in to VoiceInfra Dashboard

    Go to portal.voiceinfra.ai and log in.

    1.2 Open AI Agent Builder

    1. Click "Agents" in the left sidebar

    2. Click the "Create New Assistant" button

    3. You'll see two options:

      • "Create New Assistant" - Manual configuration

      • AI Builder icon - Guided builder ✨

    4. Click the AI Builder icon on the right

    Why use the AI Agent Builder?

    • No technical knowledge required

    • Guided step-by-step process

    • Auto-generates system prompts

    • Configures best practices automatically

    • Takes 5 minutes vs 30 minutes manual setup

    1.3 Fill Out the AI Agent Builder Questionnaire

    The builder will guide you through a simple questionnaire. Here's what to enter:

    Step 1: Define Your Agent

    Agent Name:

    Dental Front Desk Assistant

    Call Type:

    • Select "Inbound" (patients calling your office)

    Industry:

    • Select "Healthcare" from the dropdown

    Things the agent SHOULD do: Click "+" to add each item:

    1. Answer questions about office hours, location, and services

    2. Look up patient information by phone number or name

    3. Schedule new appointments for cleanings and checkups

    4. Reschedule or cancel existing appointments

    5. Transfer complex questions to front desk staff

    Things the agent SHOULD NOT do: Click "+" to add each item:

    1. Provide medical advice or diagnose conditions

    2. Discuss specific treatment costs without verification

    3. Make up information about procedures or policies

    4. Book emergency appointments without staff approval

    Key Objectives:

    Help dental practice patients schedule appointments and get basic information when the front desk is busy

    What happens behind the scenes:

    • VoiceInfra automatically generates a professional system prompt based on your answers

    • Selects optimal voice model (OpenAI Realtime) for healthcare

    • Configures conversation settings for natural phone interactions

    • Sets up best practices for dental office scenarios

    Step 2: Review & Create
    1. Review your configuration summary

    2. You'll see:

      • Agent name and call type

      • Industry (Healthcare)

      • Model: OpenAI Realtime (Voice: alloy)

      • Auto-generated system prompt preview

    3. Click "Create Agent"

    Why this works:

    • ✅ No need to write complex system prompts

    • ✅ Industry-specific best practices built in

    • ✅ Professional voice and tone automatically configured

    • ✅ Takes 2 minutes instead of 20 minutes

    ✅ Checkpoint: Your agent is now created! You'll be taken to the agent details page.


    Step 2: Customize Your Agent (Optional - 5 minutes)

    The AI Agent Builder has already created a professional system prompt for you, but you can customize it if needed.

    2.1 Navigate to Model Tab

    In your agent details page:

    1. Click the "Model" tab

    2. Scroll to the "System Prompt" section

    2.2 Review Auto-Generated System Prompt

    VoiceInfra has automatically created a system prompt based on your questionnaire answers. It will look something like this:

    You are the AI receptionist for Dental Front Desk Assistant.
       
    YOUR ROLE:
    You handle inbound calls professionally and help patients with:
    - Answer questions about office hours, location, and services
    - Look up patient information by phone number or name
    - Schedule new appointments for cleanings and checkups
    - Reschedule or cancel existing appointments
    - Transfer complex questions to front desk staff
       
    IMPORTANT - THINGS YOU SHOULD DO:
    ✓ Answer questions about office hours, location, and services
    ✓ Look up patient information by phone number or name
    ✓ Schedule new appointments for cleanings and checkups
    ✓ Reschedule or cancel existing appointments
    ✓ Transfer complex questions to front desk staff
       
    IMPORTANT - THINGS YOU SHOULD NOT DO:
    ✗ Provide medical advice or diagnose conditions
    ✗ Discuss specific treatment costs without verification
    ✗ Make up information about procedures or policies
    ✗ Book emergency appointments without staff approval
       
    CONVERSATION GUIDELINES:
    - Speak naturally and conversationally
    - Be warm, professional, and empathetic
    - Keep responses concise (2-3 sentences)
    - Confirm important details before finalizing
    - If unsure, offer to transfer to staff.
       
    KEY OBJECTIVE:
    Help dental practice patients schedule appointments and get basic information when the front desk is busy.

    2.3 Customize the Prompt (Optional)

    Want to add practice-specific details?

    You can edit the prompt to include:

    • Your practice name and location

    • 8 AM Office hours (e.g., "Monday-Friday 8 AM - 5 PM")

    • Dentist names (e.g., "Dr. Smith and Dr. Johnson")

    • Specific services offered

    • Insurance information

    Just edit the prompt and click "Save".

    Pro Tip: The auto-generated prompt is already optimized for natural conversations. Only customize if you need to add specific details about your practice.

    2.4 Set Call Behavior

    Scroll to "Call Settings":

    Max Call Duration:10 minutes

    Response Timeout:5 seconds

    End Call Phrases: Add these:

    • "Thank you for calling, goodbye."

    • "Have a great day."

    • "We'll see you at your appointment."

    Background Audio: Select "Office Ambience" (optional - adds subtle background noise)

    Click "Save Changes"

    ✅ Checkpoint: Your AI now knows how to behave like a dental receptionist!


    Step 3: Add Knowledge Base for FAQs (10 minutes)

    Now we'll upload your practice information so the AI can answer common questions.

    3.1 Create Your FAQ Document

    Open a text editor and create a document with your practice FAQs. Here's a template:

    DENTAL PRACTICE FAQ - [Your Practice Name]
       
    OFFICE HOURS:
    Monday: 8:00 AM - 5:00 PM
    Tuesday: 8:00 AM - 5:00 PM  
    Wednesday: 8:00 AM - 5:00 PM
    Thursday: 8:00 AM - 5:00 PM
    Friday: 8:00 AM - 3:00 PM
    Saturday: Closed
    Sunday: Closed
       
    Emergency Contact: Call (555) 123-4567 for after-hours emergencies
       
    LOCATION:
    123 Main Street, Suite 200
    Anytown, ST 12345
    Parking available in rear lot
       
    SERVICES WE OFFER:
    - Routine Cleanings & Exams
    - Digital X-Rays
    - Fillings (composite and amalgam)
    - Crowns & Bridges
    - Root Canal Therapy
    - Tooth Extractions
    - Teeth Whitening
    - Dental Implants
    - Invisalign Clear Aligners
    - Emergency Dental Care
       
    INSURANCE:
    We accept most major dental insurance plans including:
    - Delta Dental
    - MetLife
    - Cigna
    - Aetna
    - Blue Cross Blue Shield
    - United Healthcare
       
    We are in-network with Delta Dental and MetLife.
    For other plans, we file claims as an out-of-network provider.
       
    PAYMENT OPTIONS:
    - Cash, Check, Credit/Debit Cards
    - CareCredit financing available
    - Payment plans for treatments over $500
       
    PRICING (without insurance):
    - New Patient Exam + Cleaning + X-Rays: $250
    - Routine Cleaning: $120
    - Composite Filling: $180-250
    - Crown: $1,200
    - Root Canal: $800-1,200
    - Teeth Whitening: $400
       
    NEW PATIENT INFORMATION:
    Please arrive 15 minutes early to complete paperwork.
    Bring:
    - Photo ID
    - Insurance card
    - List of current medications
    - Medical history information
       
    BEFORE YOUR APPOINTMENT:
    - Brush and floss before your visit
    - Eat a light meal (you may be numb after treatment)
    - Take any prescribed pre-medication 1 hour before
    - Inform us of any changes to medications or health conditions
       
    CANCELLATION POLICY:
    Please provide 24 hours notice for cancellations.
    Late cancellations may incur a $50 fee.
       
    EMERGENCY CARE:
    We offer same-day emergency appointments for:
    - Severe toothache
    - Broken or knocked-out tooth
    - Abscess or swelling
    - Lost filling or crown
       
    Call immediately if you have a dental emergency.

    Save this as dental-practice-faq.txt or .pdf

    3.2 Upload to Knowledge Base

    1. In the VoiceInfra dashboard, click "Knowledge Base" in the left sidebar

    2. Click "Upload Document"

    3. Select your FAQ file

    4. Add a name: Practice FAQs

    5. Click "Upload"

    Wait for processing (usually 30-60 seconds). Status will change from "Processing" to "Completed".

    3.3 Link Knowledge Base to Agent

    1. Go back to your agent (click "Agents" → select your agent)

    2. Click the "Model" tab

    3. Scroll to the "Knowledge Base" section

    4. Click "Link Documents"

    5. Select "Practice FAQs"

    6. Click "Save"

    3.4 Test Knowledge Base

    Let's make sure it works:

    1. In agent details, click the "Test" button (top right)

    2. Click the microphone icon or type: "What are your office hours?"

    3. The AI should respond with your office hours from the FAQ

    ✅ Checkpoint: Your AI can now answer questions about your practice!


    Step 4: Set Up Patient Lookup Function (15 minutes)

    Now we'll connect your AI to Open Dental so it can look up patient information.

    Visual: How Patient Lookup Works

    4.1 Get Your Open Dental API Credentials

    You'll need to enable the API in Open Dental and get your API credentials. Refer to the Open Dental API documentation for detailed setup instructions.

    You'll need:

    • API key with appropriate permissions (Read Patients, Read Appointments)

    • API endpoint URL (cloud or local server)

    4.2 Create Patient Lookup Function Using CURL

    VoiceInfra has a CURL API Function Creator that converts CURL commands into functions automatically. This is much faster than manual configuration!

    Step 1: Get the CURL Command

    Here's the CURL command for Open Dental patient lookup:

    curl -X GET "https://api.opendental.com/api/v1/patients?phone=5551234567" \
      -H "Authorization: Bearer YOUR_OPENDENTAL_API_KEY_HERE" \
      -H "Content-Type: application/json"

    Replace YOUR_OPENDENTAL_API_KEY_HERE with your actual API key from Step 4.1

    Step 2: Use the CURL Function Creator

    Back in VoiceInfra:

    1. Click "Functions" in the left sidebar

    2. Click "Create New Function"

    3. You'll see a dialog with two options:

      • "Start from Scratch" - Manual configuration

      • "Import from CURL" - Paste CURL command ✨

    4. Click "Import from CURL"

    Step 3: Paste Your CURL Command
    1. Paste the CURL command (with your API key) into the text box

    2. Click "Parse CURL"

    3. VoiceInfra automatically extracts:

      • ✅ Function name: get_patients

      • ✅ HTTP method: GET

      • ✅ Server URL: https://api.opendental.com/api/v1/patients

      • ✅ Headers: Authorization and Content-Type

      • ✅ Query parameters: phone (string, required)

    Step 4: Customize Function Details

    Now customize the auto-generated function:

    Function Name: Change from get_patients to lookup_patient

    Description:

    Look up patient information by phone number. Returns patient name, ID, and appointment history.

    Function Instructions (for AI):

    Use this function to look up patient information when a caller provides their phone number.
       
    When to use:
    - Patient says "I'm calling about my appointment"
    - Patient mentions they're an existing patient
    - Patient provides their phone number
       
    What to do with the response:
    - Greet patient by name: "Hello [FirstName]!"
    - Confirm identity: "Just to confirm, is your last name [LastName]?"
    - If no patient found, offer to transfer to front desk for new patient registration

    Click "Create Function"

    Why use the CURL Function Creator?

    • ⚡ 10x faster than manual configuration

    • ✅ No typos in headers or parameters

    • ✅ Automatically detects parameter types

    • ✅ Works with any API (not just Open Dental)

    4.3 Link Function to Agent

    1. Go to "Agents" → Select your agent

    2. Click the functions" tab

    3. Click "Add Function"

    4. Select "lookup_patient"

    5. Click "Save"

    4.4 Test Patient Lookup

    Let's test it:

    1. Click the "Test" button in the agent details

    2. Say or type: "Hi, I need to check my appointment. My phone number is 555-123-4567."

    3. The AI should:

      • Call the lookup function

      • Greet you by name

      • Confirm your identity

    Troubleshooting:

    • "API Error": Check your API key is correct

    • "Patient not found": Make sure the phone number exists in Open Dental

    • "Connection timeout": Verify your API endpoint URL is correct and accessible

    ✅ Checkpoint: Your AI can now look up patients in Open Dental!


    Step 5: Configure Appointment Booking (15 minutes)

    Now let's enable your AI to book and reschedule appointments directly in Open Dental.

    Visual: Appointment Booking Flow

    5.1 Create Get Available Slots Function (Using CURL)

    Let's use the CURL Function Creator again for the appointment slots function.

    CURL Command:
    curl -X GET "https://api.opendental.com/api/v1/appointments/Slots?date=2024-03-15&lengthMinutes=60" \
      -H "Authorization: Bearer YOUR_OPENDENTAL_API_KEY_HERE" \
      -H "Content-Type: application/json"
    Steps:
    1. Click "Functions" → "Create New Function"

    2. Click "Import from CURL"

    3. Paste the CURL command above (with your API key)

    4. Click "Parse CURL"

    VoiceInfra automatically detects:

    • ✅ Function name:

      get_appointments_slots

    • ✅ HTTP method: GET

    • ✅ Server URL: https://api.opendental.com/api/v1/appointments/Slots

    • ✅ Headers: Authorization and Content-Type

    • ✅ Query parameters: date (string), lengthMinutes (integer)

    Customize:

    Function Name: Change to get_available_slots

    Description:

    Get available appointment time slots from Open Dental for a specific date

    Function Instructions:

    Use this function to find available appointment times.
       
    When to use:
    - Patient wants to book a new appointment
    - Patient wants to reschedule an existing appointment
    - Patient asks, "What times do you have available?"
       
    How to use:
    1. Ask the patient what type of appointment (cleaning, exam, filling, etc.)
    2. Ask for preferred date or date range
    3. Call this function with the date
    4. Present available times to the patient
    5. Once the patient chooses, use the book_appointment function

    Click "Create Function"

    5.2 Create Book Appointment Function (Using CURL)

    Now let's create the function to actually book appointments.

    CURL Command:
    curl -X POST "https://api.opendental.com/api/v1/appointments" \
      -H "Authorization: Bearer YOUR_OPENDENTAL_API_KEY_HERE" \
      -H "Content-Type: application/json" \
      -d '{
        "PatNum": 123,
        "AptDateTime": "2024-03-15 14:00:00",
        "Op": 1,
        "ProvNum": 5,
        "Pattern": "//XXXX//",
        "Note": "Regular cleaning"
      }'
    Steps:
    1. Click "Functions" → "Create New Function"

    2. Click "Import from CURL"

    3. Paste the CURL command above (with your API key)

    4. Click "Parse CURL"

    VoiceInfra automatically detects:

    • ✅ Function name: post_appointments

    • ✅ HTTP method: POST

    • ✅ Server URL: https://api.opendental.com/api/v1/appointments

    • ✅ Headers: Authorization and Content-Type

    • ✅ Request body parameters: PatNum, AptDateTime,Op, ProvNum, Pattern, Note

    • ✅ Parameter types: Integer, String, etc.

    Customize:

    Function Name: Change to book_appointment

    Description:

    Book a new appointment in Open Dental for an existing patient

    Function Instructions:

    Use this function to book an appointment after the patient has selected a time.
       
    IMPORTANT: Always confirm these details before booking:
    1. Patient name (from lookup)
    2. Appointment type (cleaning, exam, etc.)
    3. Date and time
    4. Dentist/hygienist name
       
    Steps:
    1. Get patient info from lookup_patient
    2. Get available slots from get_available_slots
    3. Patient selects preferred time
    4. CONFIRM all details with the patient
    5. Call this function to book
    6. Confirm booking with patient and provide appointment details

    Click "Create Function"

    5.3 Create Update Appointment Function (Using CURL)

    For rescheduling existing appointments.

    CURL Command:
    curl -X PUT "https://api.opendental.com/api/v1/appointments/456" \
      -H "Authorization: Bearer YOUR_OPENDENTAL_API_KEY_HERE" \
      -H "Content-Type: application/json" \
      -d '{
        "AptDateTime": "2024-03-20 10:00:00",
        "Note": "Rescheduled by patient"
      }'
    Steps:
    1. Click "Functions" → "Create New Function"

    2. Click "Import from CURL"

    3. Paste the CURL command above

    4. Click "Parse CURL"

    VoiceInfra automatically detects:

    • ✅ Function name: put_appointments

    • ✅ HTTP method: PUT

    • ✅ Server URL: https://api.opendental.com/api/v1/appointments/{AptNum}

    • ✅ Path parameter: AptNum (the 456 in the URL)

    • ✅ Request body: AptDateTime, Note

    Customize:

    Function Name: Change to update_appointment

    Description:

    Reschedule or update an existing appointment in Open Dental

    Function Instructions:

    Use this function to reschedule an existing appointment.
       
    Steps:
    1. Look up patient to get their upcoming appointments
    2. Confirm which appointment they want to reschedule
    3. Get available slots for new date
    4. Patient selects new time
    5. CONFIRM old and new appointment details
    6. Call this function to update
    7. Confirm the change with patient

    Click "Create Function"

    🎉 You just created 3 API functions in under 5 minutes using CURL!

    Without the CURL Function Creator, this would have taken 20-30 minutes of manual configuration.

    5.4 Link All Functions to Agent

    1. Go to your agent → "Functions" tab

    2. Add all three functions:

      • lookup_patient

      • get_available_slots

      • book_appointment

      • update_appointment

    3. Click "Save"

    5.5 Test Appointment Booking Flow

    Test the complete flow:

    1. Click "Test" in the agent details

    2. Simulate this conversation:

    You: "Hi, I'd like to schedule a cleaning"
    AI: "I'd be happy to help! Can I get your phone number?"
    You: "555-123-4567"
    AI: [Looks up patient] "Hello Sarah! What day works best for your cleaning?"
    You: "Next Tuesday"
    AI: [Gets available slots] "I have 9:00 AM, 10:30 AM, 2:00 PM, or 3:30 PM available. Which time works for you?"
    You: "2:00 PM"
    AI: [Confirms and books] "Perfect! Your cleaning is confirmed for Tuesday, November 12th at 2:00 PM with Dr. Smith."

    ✅ Checkpoint: Your AI can now book and reschedule appointments in Open Dental!


    Step 6: Set Up Call Transfer to Front Desk (5 minutes)

    For complex requests, your AI needs to transfer calls to your front desk staff.

    Visual: Call Transfer Decision Tree

    6.1 Configure Call Transfer

    1. Go to your agent → "Call Transfer" tab

    2. Toggle "Enable Call Transfer" to ON

    6.2 Add Transfer Numbers

    Add your front desk phone numbers:

    Primary Transfer Number:

    • Label: Front Desk

    • Phone Number: +15551234567 (your front desk number)

    • Description: Main reception desk

    Secondary Transfer Number (optional):

    • Label: Office Manager

    • Phone Number: +15559876543

    • Description: For billing and complex issues

    6.3 Choose Transfer Type

    Transfer Type: Select "Warm Transfer"

    Warm Transfer = AI stays on the line, introduces the patient to the staff, then drops off. Cold Transfer = AI immediately transfers without introduction

    We recommend Warm Transfer for a better patient experience.

    6.4 Set Transfer Message

    Transfer Introduction Message:

    I'm going to connect you with our front desk team, who can better assist you with that. Please hold for just a moment while I get them on the line.

    Message to Staff (what staff hears when they pick up):

    Hi, this is the AI assistant. I have [Patient Name] on the line regarding [reason for call]. Transferring now.

    6.5 Configure DTMF Routing (Optional)

    If you want patients to press numbers for different departments:

    DTMF Mapping:

    • Press 1 → Front Desk (+15551234567)

    • Press 2 → Billing (+15559876543)

    • Press 3 → Emergency Line (+15551111111)

    Click "Save Changes"

    6.6 Test Call Transfer

    1. Click "Test" in the agent details

    2. Say: "I need to speak with someone about my bill."

    3. AI should respond with a transfer message and initiate the transfer

    ✅ Checkpoint: Your AI can now transfer calls to your staff!


    Step 7: Connect Your Phone System (10 minutes)

    Now let's connect your AI assistant to your phone system so patients can actually call it.

    7.1 Choose Your Connection Method

    VoiceInfra gives you three flexible options (choose what works for your setup):

    🏆 Option A: Register as PBX Extension (RECOMMENDED - 5 minutes)

    • Best for: Practices with existing PBX (3CX, Yeastar, Asterisk, FreeSWITCH, Avaya, etc.)

    • Why it's great: No new phone numbers needed, works with your existing system

    • Unique benefit: Transfer calls to other extensions, receive calls like any desk phone

    Option B: Connect Existing Number (Twilio/Custom SIP - 5 minutes)

    • Best for: Practices with Twilio or other SIP providers

    • Why it's great: Use your existing phone number, simple webhook setup

    Option C: WhatsApp Business (Bonus - 5 minutes)

    • Best for: Practices wanting WhatsApp call support

    • Why it's great: Patients can call via WhatsApp using SIP integration


    7.2 Option A: Register as PBX Extension (RECOMMENDED)

    This is VoiceInfra's killer feature - unlike other AI platforms that force you to buy new numbers and duplicate configurations, we register TO your existing PBX as an extension.

    Why This Is Amazing:

    ✅ No new phone numbers needed - Use your existing office number

    ✅ Transfer to extensions - AI can transfer to ext. 102 (billing), ext. 103 (manager), etc.

    ✅ Receive calls like any phone - Route calls to an AI extension from your PBX

    ✅ Works with ANY PBX - 3CX, Yeastar, Asterisk, FreeSWITCH, Avaya, Cisco, you name it

    ✅ 5-minute setup - Just like adding a new desk phone

    How It Works:
    Your PBX sees the AI as just another extension (like ext. 101)
    ↓
    Patients call your main number → Your PBX routes to the AI extension
    ↓
    AI answers, handles FAQs, and books appointments
    ↓
    If needed, AI transfers to ext. 102 (front desk) or ext. 103 (billing)
    ↓
    Your staff picks up - no external phone numbers involved!
    Setup Steps:

    Step 1: Identify Available Extension

    In your PBX admin panel:

    1. Find an unused extension number (e.g., 101, 200, 999)

    2. Note your PBX domain (e.g., pbx.yourpractice.com or IP address)

    3. Create extension credentials (username/password)

    Step 2: Register Extension in VoiceInfra

    1. In the VoiceInfra dashboard, click "Phone Numbers" → "Add Extension"

    2. Fill in the extension details:

    Extension Number: 101
    Domain: pbx.yourpractice.com
    Username: ai-receptionist
    Password: [your SIP password]
    Proxy: pbx.yourpractice.com (usually the same as the domain)
    Transport: TCP (or UDP - match your PBX)
    Friendly Name: Dental AI Receptionist
    1. Click "Create Extension"

    Step 3: Verify Registration

    VoiceInfra automatically registers with your PBX. You should see:

    • ✅ Status: "Registered" (green indicator)

    • ✅ Extension appears in your PBX's registered endpoints list

    Step 4: Assign AI Agent

    1. Click on your registered extension

    2. Under "Assigned Agent", select "Dental Front Desk Assistant"

    3. Configure settings:

      • Inbound Calls: Enabled

      • Outbound Calls: Enabled (for appointment reminders)

      • Call Recording: Enabled

    4. Click "Save"

    Step 5: Configure Call Routing in Your PBX

    Now route calls to your AI extension. Common setups:

    Setup 1: After-Hours Routing

    9 AM Business Hours (9 AM-5 PM) → Front desk phones After Hours → Extension 101 (AI)

    Setup 2: Overflow Routing

    The main number rings the front desk for 20 seconds If no answer → Extension 101 (AI)

    Set up 3: Direct AI Line

    Main number: (555) 123-4567 → Front desk AI direct line: (555) 123-4568 → Extension 101 (AI)

    Step 6: Configure Transfer Numbers

    Since you're using PBX extensions, update your call transfer settings (from Step 6) to use extension numbers instead of E.164 phone numbers:

    Transfer to Front Desk: ext. 102 Transfer to Billing: ext. 103 Transfer to Manager: ext. 104

    The AI will transfer calls internally within your PBX - no external calls needed!

    Step 7: Test the Extension

    1. From your mobile phone, call your office number

    2. Your PBX should route to the AI extension

    3. AI answers and handles the call

    4. Try saying: "I need to speak with billing."

    5. AI should transfer to ext. 103 (or whatever you configured)

    ✅ Checkpoint: Your AI is now a full member of your PBX system!


    7.3 Option B: Connect Existing Number (Twilio/Custom SIP)

    If you don't have a PBX or prefer to use a direct phone number:

    For Twilio Users:

    1. In VoiceInfra Dashboard:

      • Click "Phone Numbers" → "Add Phone Number"

      • Select "Twilio" from the wizard options

      • Enter your Twilio Account SID and Auth Token

      • Select the phone number(s) you want to import

      • Assign your AI agent

      • Click "Import"

    For Custom SIP Providers:

    1. In VoiceInfra Dashboard:

      • Click "Phone Numbers" → "Add Phone Number"

      • Select "Custom Configuration"

      • Choose "Phone Number"

      • Enter your SIP trunk details (provided by your carrier)

      • Assign your AI agent

      • Click "Create"


    7.4 Option C: WhatsApp Business Calling (Bonus)

    VoiceInfra supports WhatsApp Business calling - patients can call your AI via WhatsApp!

    Setup:

    1. In VoiceInfra Dashboard:

      • Click "Phone Numbers" → "Add Phone Number"

      • Select "WhatsApp Business" from the wizard options

      • Enter your WhatsApp Business phone number

      • Enter your Meta Business API Phone Number ID

      • Enter your Access Token

      • Review and click "Integrate"

    2. Assign your AI agent to the WhatsApp number

    Use case: International patients, younger demographics who prefer WhatsApp


    7.5 Test Your Connection

    Make a test call:

    1. Call your configured number/extension

    2. AI should answer with the first message

    3. Try: "What are your office hours?"

    4. Try: "I'd like to book a cleaning."

    5. Try: "I need to speak with someone about billing."

    Check call logs:

    • Go to "Call Logs" in VoiceInfra

    • Verify the call was received and handled

    • Review transcript for accuracy

    ✅ Checkpoint: Your AI assistant is now live and answering calls!


    Step 8: Test Everything (10 minutes)

    Let's run through a complete test to make sure everything works.

    8.1 Test Scenario 1: New Patient Booking

    Call your number and simulate:

    AI: "Thank you for calling [Practice Name]. This is our AI assistant..."
    You: "Hi, I'd like to schedule a cleaning"
    AI: "I'd be happy to help! Can I get your phone number?"
    You: [Provide phone number]
    AI: [Looks up patient] "Hello [Name]! What day works best for your cleaning?"
    You: "Next Thursday"
    AI: [Gets available slots] "I have these times available..."
    You: "2:00 PM works"
    AI: [Books appointment] "Perfect! Your cleaning is confirmed for Thursday at 2:00 PM."

    Check in Open Dental:

    • Verify the appointment appears in the schedule

    • Verify patient information is correct

    • Verify time and provider are correct

    8.2 Test Scenario 2: FAQ Questions

    Call and ask:

    • "What are your office hours?"

    • "Do you accept Delta Dental insurance?"

    • "How much is a cleaning?"

    • "Where are you located?"

    Verify:

    • AI answers correctly from the knowledge base

    • Responses are natural and conversational

    • Information matches your FAQ document

    8.3 Test Scenario 3: Reschedule Appointment

    Call and say:

    You: "I need to reschedule my appointment."
    AI: "I can help with that. What's your phone number?"
    You: [Provide number]
    AI: [Looks up] "I see you have a cleaning on [date] at [time]. When would you like to move it to?"
    You: "The following week, same time"
    AI: [Gets slots and reschedules] "Done! Your appointment is now [new date] at [time]."

    Check Open Dental:

    • The old appointment is updated

    • New date/time is correct

    8.4 Test Scenario 4: Call Transfer

    Call and say:

    You: "I have a question about my bill." AI: "I'll connect you with our front desk team, who can help with billing. Please hold." [Transfer happens]

    Verify:

    • Transfer happens smoothly

    • Staff receive context about the call

    • Patient doesn't get disconnected

    8.5 Review Call Logs

    1. In the VoiceInfra dashboard, go to "Call Logs"

    2. Review your test calls:

      • Check transcripts for accuracy

      • Verify functions were called correctly

      • Check call duration and quality

    8.6 Check Call Analytics

    Go to "Analytics" tab:

    • Total calls handled

    • Average call duration

    • Successful bookings

    • Transfer rate

    • Common questions asked

    ✅ Checkpoint: Everything is working! Your AI receptionist is ready for real patients.


    Step 9: Monitor and Improve (Ongoing)

    Your AI is live, but the work doesn't stop here. Here's how to continuously improve it.

    9.1 Review Call Transcripts Daily (First Week)

    For the first week, review every call:

    1. Go to "Call Logs" daily

    2. Read transcripts of all calls

    3. Look for:

      • Questions the AI couldn't answer

      • Incorrect information given

      • Awkward conversations

      • Missed opportunities to help

    9.2 Update Knowledge Base

    When you find questions the AI couldn't answer:

    1. Add them to your FAQ document

    2. Re-upload to Knowledge Base

    3. Test to verify AI now knows the answer

    Common additions:

    • Specific procedure questions

    • Insurance coverage details

    • Pre-appointment instructions for specific treatments

    • Parking and directions

    • Forms patients need to bring

    9.3 Refine System Prompt

    Based on call reviews, update your system prompt:

    Add specific phrases:

    When the patient asks about [specific situation], say [specific response]

    Add handling for edge cases:

    If the patient mentions a pain level above 7/10, immediately offer an emergency appointment or transfer

    9.4 Set Up Call Recording Review

    Enable call recording for quality assurance:

    1. Go to agent settings → "Call Recording"

    2. Enable "Record All Calls"

    3. Set retention: 30 days

    4. Schedule a weekly review with your team

    9.5 Monitor Key Metrics

    Track these metrics weekly:

    Efficiency Metrics:

    • % of calls handled without transfer

    • Average call duration

    • Calls handled after hours

    Business Metrics:

    • Appointments booked by AI

    • Missed call reduction

    • Patient satisfaction (ask during next visit)

    Quality Metrics:

    • Transfer rate (should be <30%)

    • Booking accuracy (verify in Open Dental)

    • Patient complaints

    9.6 Train Your Staff

    Make sure your front desk knows:

    1. AI is handling calls - They'll receive fewer routine calls

    2. How transfers work - What context they'll receive

    3. How to check AI bookings - Verify appointments in Open Dental

    4. Who to contact - If AI makes a mistake or needs adjustment

    Hold a team meeting:

    • Demonstrate how the AI works

    • Play sample calls

    • Answer questions

    • Get feedback

    9.7 Gradual Rollout (Recommended)

    Don't switch everything at once:

    Week 1: After-hours calls only

    Week 2: Add lunch hours (12–1 PM)

    Week 3: Add morning overflow (8–9 AM)

    Week 4: Full deployment during busy times

    This lets you catch issues before they affect too many patients.

    ✅ Checkpoint: You're now continuously improving your AI receptionist!


    Troubleshooting Common Issues

    Issue 1: AI Can't Find the Patient in Open Dental

    Symptoms:

    • AI says, "I can't find your record."

    • Patient insists they're in the system.

    Solutions:

    • ✅ Check phone number format (must match Open Dental exactly)

    • ✅ Try searching by name instead of phone

    • ✅ Verify API permissions include "Read Patients"

    • ✅ Check if the patient has multiple phone numbers in Open Dental

    Fix: Update your lookup function to search by both phone AND name.

    Issue 2: Appointments Not Showing in Open Dental

    Symptoms:

    • AI confirms booking

    • The appointment doesn't appear in the Open Dental schedule

    Solutions:

    • ✅ Check the API key has "Write Appointments" permission

    • ✅ Verify ProvNum and OpNum are valid

    • ✅ Check date/time format is correct ("YYYY-MM-DD HH:mm:ss")

    • ✅ Review function call logs for errors

    Fix: Check "Call Logs" → "Function Calls" tab for error messages.

    Issue 3: AI Gives Wrong Information

    Symptoms:

    • AI provides incorrect hours, pricing, or services

    • Information is outdated

    Solutions:

    • ✅ Update your FAQ document

    • ✅ Re-upload to Knowledge Base

    • ✅ Verify document is linked to the agent

    • ✅ Clear knowledge base cache (Settings → Clear Cache)

    Fix: Always update the knowledge base when practice information changes.

    Issue 4: Call Quality Issues

    Symptoms:

    • Choppy audio

    • Delays in responses

    • Dropped calls

    Solutions:

    • ✅ Verify your phone system has sufficient balance/credits

    • ✅ Test from a different phone/location

    • ✅ Contact VoiceInfra support for server-side issues

    Issue 5: AI Transfers Too Often

    Symptoms:

    • Most calls get transferred

    • AI says "I can't help with that" too frequently

    Solutions:

    • ✅ Expand knowledge base with more FAQs

    • ✅ Update system prompt with more specific instructions

    • ✅ Add more function capabilities

    • ✅ Review transcripts to identify common transfer reasons

    Fix: Aim for <30% transfer rate. If higher, your AI needs more training.

    Issue 6: Patients Prefer Human

    Symptoms:

    • Patients ask to speak with a person immediately

    • Negative feedback about AI

    Solutions:

    • ✅ Update first message to be more welcoming

    • ✅ Offer human option upfront: "Press 0 to speak with our front desk."

    • ✅ Make AI voice more natural (try different voice models)

    • ✅ Ensure AI is helpful, not frustrating

    Remember: Some patients will always prefer humans. That's okay! The AI handles the overflow.


    Other Use Cases: Beyond Dental Practices

    This same setup works for other appointment-based businesses. Just adapt the knowledge base and functions:

    Medical Clinics

    • Replace Open Dental with your EHR (Epic, Cerner, Athenahealth)

    • Include insurance verification

    • Handle prescription refill requests

    Veterinary Clinics

    • Pet information instead of patient info

    • Emergency triage for sick animals

    • Boarding and grooming appointments

    • Medication refills

    Salons & Spas

    • Service menu (haircuts, color, massage, facials)

    • Stylist preferences

    • Package bookings

    • Retail product questions

    Law Firms

    • Consultation scheduling

    • Case type screening

    • Document collection

    • Billing inquiries

    HVAC/Plumbing Services

    • Emergency dispatch

    • Service appointment scheduling

    • Quote requests

    • Technician routing

    The pattern is the same:

    1. Create an AI agent

    2. Add an industry-specific knowledge base

    3. Connect to your scheduling system API

    4. Set up call transfers

    5. Go live


    Next Steps: What to Do After This Tutorial

    Congratulations! You've built a fully functional AI phone assistant for your dental practice. Here's what to do next:

    Immediate (This Week)

    • Run test calls with your team

    • Update the FAQ document with any missing information

    • Set up call recording and review process

    • Train front desk staff on how AI works

    • Start with after-hours calls only

    Short-term (This Month)

    • Gradually expand to busy hours

    • Review call transcripts weekly

    • Add more FAQs based on common questions

    • Set up appointment reminder outbound calls (optional)

    • Integrate with your website (add "Call Us" button)

    Long-term (Next 3 Months)

    • Add SMS appointment confirmations

    • Set up automated recall reminders

    • Integrate with the patient portal

    • Add post-appointment follow-up calls

    • Expand to handle insurance verification

    Advanced Features to Explore

    • Outbound Calling: AI calls patients for appointment reminders

    • SMS Integration: Text confirmations and reminders

    • Multi-language Support: Spanish, Mandarin, etc.

    • Sentiment Analysis: Flag unhappy patients for follow-up

    • CRM Integration: Sync with your marketing platform

    • Analytics Dashboard: Track ROI and patient satisfaction


    Frequently Asked Questions

    How much does this cost?

    AI Assistant Cost:

    • Average cost per call: $0.32-0.42 (5-minute appointment scheduling call)

    • Typical dental practice: 75 calls/day = 2,250 calls/month

    • Monthly AI cost: $720-945

    Additional Costs:

    • Phone number: $1-5/month (if using Twilio)

    • Open Dental API: Included with Open Dental subscription

    • PBX extension: $0/month (if using existing PBX - recommended)

    Cost of Human Receptionist:

    • Salary + benefits: $3,800-4,900/month

    • Can only work 8 hours/day, 5 days/week

    • Requires vacation, sick days, and training

    Monthly Savings: $3,000-4,000/month Annual Savings: $36,000-48,000/year

    ROI: 80-85% cost reduction

    Additional Benefits:

    • 24/7 availability (no overtime pay)

    • Zero missed calls = more appointments booked

    • Consistent quality (no sick days, vacations, turnover)

    • Scales instantly during busy periods

    • Frees up human staff for higher-value tasks

    Will patients know they're talking to AI?

    Yes, and that's a good thing. Your AI introduces itself as "our AI assistant" in the first message. Transparency builds trust.

    Most patients don't care if it's AI or human, as long as:

    • They get their questions answered

    • They can book appointments easily

    • They can reach a human if needed

    What if the AI makes a mistake?

    The AI will make mistakes, especially at first. That's why you:

    • Review call transcripts regularly

    • Update the knowledge base frequently

    • Have an easy transfer to humans

    • Monitor bookings in Open Dental

    Pro tip: Enable call recording so you can review and learn from mistakes.

    Can it handle emergencies?

    Yes! Configure your system prompt to recognize emergency keywords:

    • "Severe pain"

    • "Knocked out tooth"

    • "Swelling"

    • "Bleeding won't stop"

    When detected, AI should:

    1. Offer a same-day emergency appointment

    2. OR immediately transfer to the front desk

    3. OR provide an after-hours emergency number

    How long does setup take?

    • This tutorial: 30-45 minutes

    • Testing and refinement: 2-3 hours

    • Staff training: 1 hour

    • Total: About half a day

    Do I need technical skills?

    No! If you can use Open Dental, you can do this. The tutorial walks you through every step.

    Can it handle multiple languages?

    Yes! OpenAI Realtime supports multiple languages. Update your system prompt:

    You can communicate in English and Spanish. If a patient speaks Spanish, respond in Spanish.

    What if my internet goes down?

    Calls will fail if your internet is down. Solutions:

    • Use cloud-hosted Open Dental (recommended)

    • Set up a failover to a cell phone

    • Configure backup transfer number

    How do I measure success?

    Track these metrics:

    • Calls handled: Should increase over time

    • Transfer rate: Should decrease (target <30%)

    • Appointments booked: Track daily

    • Missed calls: Should approach zero

    • Patient satisfaction: Ask during visits


    Conclusion: You Did It! 🎉

    You've just built a sophisticated AI phone assistant that:

    • ✅ Answers patient questions 24/7

    • ✅ Looks up patient records in Open Dental

    • ✅ Books and reschedules appointments automatically

    • ✅ Transfers complex requests to your staff

    • ✅ Saves your practice thousands per month

    What you've accomplished:

    • Reduced missed calls to nearly zero

    • Freed up your front desk for higher-value tasks

    • Enabled 24/7 appointment booking

    • Improved patient experience

    • Increased revenue through better call handling

    Remember:

    • Start small (after-hours only)

    • Review and improve weekly

    • Train your staff

    • Be patient with the learning curve

    Your AI assistant will get better every day as you refine it based on real calls.


    Ready to Get Started?

    Sign up for VoiceInfra:voiceinfra.ai/signup

    Questions about this tutorial? Email us at hello@voiceinfra.ai

    Built your AI assistant? We'd love to hear about it! Share your success story with us.


    Last updated: November 25, 2025Tutorial version: 1.0Compatible with: VoiceInfra, Open Dental 21.1+

    Article Tags
    #voice ai#dental practice automation#open dental integration#appointment scheduling#dental receptionist
    IH
    About the Author
    Izhar Hussain

    Founder

    Building Voice‑AI and AI‑Upskilling Platforms to Enhance Enterprise Customer Experience and Learning Outcomes

    Share this article

    Continue Reading

    Discover more insights on similar topics

    7 Core Components of a Voice AI Agent Explained
    Voice AI
    7 Core Components of a Voice AI Agent Explained
    Jun 7, 202610 min read
    Build an AI Receptionist for Heating & Cooling Business
    Tutorials
    Build an AI Receptionist for Heating & Cooling Business
    Nov 11, 202512 min read
    How Speech-to-Text (STT) Works in Voice AI Agents
    Voice AI
    How Speech-to-Text (STT) Works in Voice AI Agents
    Jun 9, 20269 min read