Tutorials⭐ Featured

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

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

  • 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.

AI agent handing dental practice customer calls

AI agent handing dental practice customer calls

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

How patients lookup works

How patients 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

Patient wants appointment flow

Patient wants appointment 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

Set Up Call Transfer to Front Desk

Set Up Call Transfer to Front Desk

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

Ready to Transform Your Business Communications?

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