Voice Call Assistant — Phone-Based Receptionist
Build an AI-powered phone receptionist that answers calls, routes inquiries, books appointments, and handles after-hours messaging.
Voice Call Assistant — Phone-Based Receptionist
What You'll Accomplish
By the end of this tutorial, you'll have an AI-powered phone receptionist that answers incoming calls, greets callers, handles common inquiries (office hours, directions, appointment scheduling), and routes complex requests to your human staff. The receptionist works 24/7 — taking messages after hours and answering calls live during business hours.
What You'll Need
- A Gravity Rail workspace
- A phone number with voice enabled (you'll set this up)
- An agent configured with a voice
- Business hours configured in your workspace settings
Step 1: Configure Your Agent's Voice
Your phone receptionist needs a voice that matches your brand.
- Go to People > Agents
- Edit your agent (or create a new one for the receptionist)
- Configure:
- Name: A professional name (e.g., "Alex" or your office name)
- Bio: "Friendly and professional phone receptionist for [Your Practice Name]. Knowledgeable about office services, scheduling, and general inquiries."
- Voice: Select a voice that fits your brand — listen to previews and choose one that sounds warm and professional
- AI Model: Choose a model that supports real-time voice
The voice you select will be how callers hear your AI receptionist speak.
Step 2: Set Up the Phone Number
- Go to Channels > Phone Numbers
- Click Add Phone Number
- Configure:
- Name: "Main Office Line" (or your practice's line name)
- Enable Voice: Yes
- Enable SMS: Yes (recommended — some callers prefer texting)
- Brand Name: Your practice or organization name
- Forward Number: Your office's main phone number (for call transfers)
- Skip the Default Workflow for now — you'll connect it in Step 4
For full setup details, see the Phone & Voice guide.
Step 3: Build the Receptionist Workflow
Create a workflow that handles the most common call types.
Create the workflow
- Go to Workflows and click Create Workflow
- Name it "Phone Receptionist"
- Assign your voice-enabled agent
Add abilities
Before adding tasks, configure the workflow's abilities:
- Go to the Abilities tab
- Add:
- Hang Up — Always enabled for phone calls
- Forward Call — Allows the AI to transfer calls to your staff
- Calendar Booking — If you want the AI to schedule appointments directly
- File Access — If you have a knowledge base for answering questions (see Knowledge Base tutorial)
Add the tasks
Task 1: Greet & Route (Starting Task)
- Name: "Greet & Route"
- Prompt:
You are the phone receptionist for [Your Practice Name]. When a caller connects: 1. Greet them warmly: "Thank you for calling [Practice Name], this is [Agent Name]. How can I help you today?" 2. Listen to their request and route to the appropriate task: - Appointment scheduling or changes → Schedule Appointment - General questions (hours, location, services) → Answer Questions - Speak with a specific person or department → Transfer Call - Billing or insurance questions → Transfer Call (billing) - Urgent medical concern → Urgent Triage Be natural and conversational. Don't rush callers — let them explain what they need. If you're not sure how to categorize their request, ask a clarifying question. - Goal: "Caller's request has been identified and routed"
- Sub-Tasks: Schedule Appointment, Answer Questions, Transfer Call, Urgent Triage
- Initial Message: "Thank you for calling [Your Practice Name]. How can I help you today?"
Task 2: Schedule Appointment
- Name: "Schedule Appointment"
- Prompt:
Help the caller schedule, reschedule, or cancel an appointment. For new appointments: 1. Ask what type of appointment they need 2. Ask about their preferred date and time 3. Check availability using your calendar tools 4. Confirm the appointment details 5. Ask for their name and phone number if you don't have it For rescheduling: 1. Ask about their existing appointment to identify it 2. Ask for their new preferred date and time 3. Check availability and confirm For cancellations: 1. Confirm which appointment they want to cancel 2. Ask if they'd like to reschedule instead 3. Confirm the cancellation Be accommodating and helpful. If no slots are available at their preferred time, suggest alternatives. - Goal: "Appointment has been scheduled, rescheduled, or cancelled"
- Data Types: Attach an Appointments form if you want to capture appointment data
Task 3: Answer Questions
- Name: "Answer Questions"
- Prompt:
Answer the caller's general questions about the office. Common questions: - Office hours: [Your hours, e.g., Monday-Friday 8 AM - 5 PM] - Location: [Your address] - Parking: [Parking instructions] - Services offered: [List your main services] - Accepted insurance: [List major insurance plans accepted] - New patient process: [Brief overview] - Fax number: [Your fax number] If you have file access, search your knowledge base for answers. If you don't know the answer, offer to transfer the caller to someone who can help. Keep answers concise — callers on the phone want quick information, not lengthy explanations. - Goal: "Caller's question has been answered"
- Sub-Tasks: Transfer Call (in case the caller needs more help)
Task 4: Transfer Call
- Name: "Transfer Call"
- Prompt:
The caller needs to speak with a human team member. Before transferring: 1. Let them know you're going to transfer the call 2. Tell them who they'll be speaking with (if applicable) 3. Ask them to hold for a moment 4. Use the forward call tool to transfer If no one is available (after hours or all lines busy): 1. Apologize for the inconvenience 2. Offer to take a message 3. Collect their name, phone number, and a brief description of what they need 4. Let them know someone will call them back Be polite and reassuring throughout the transfer process. - Goal: "Call has been transferred or message has been taken"
Task 5: Urgent Triage
- Name: "Urgent Triage"
- Prompt:
The caller has an urgent medical concern. IMPORTANT: You are not a medical professional and cannot provide medical advice. 1. If this sounds like a medical emergency (chest pain, difficulty breathing, severe bleeding, loss of consciousness): - Tell the caller to hang up and call 911 immediately - Do NOT attempt to keep them on the line 2. If this is urgent but not an emergency: - Let them know you'll connect them with the clinical team right away - Transfer the call immediately - If no one is available, ask them to go to their nearest urgent care or ER and provide the number for the nurse advice line if available 3. Always err on the side of caution — when in doubt, recommend calling 911 - Goal: "Caller has been directed to appropriate medical resources"
Connect the tasks
Use the visual Task Flow editor:
- Greet & Route > Schedule Appointment
- Greet & Route > Answer Questions
- Greet & Route > Transfer Call
- Greet & Route > Urgent Triage
- Answer Questions > Transfer Call
Set "Greet & Route" as the Starting Task.
Step 4: Connect the Workflow and Configure Work Modes
Assign the workflow
- Go to Channels > Phone Numbers
- Open your phone number
- Set the Default Workflow to "Phone Receptionist"
- Save
Configure business hours
- Go to Settings > Workspace Settings
- Set your Business Hours (e.g., Monday-Friday 8 AM - 5 PM)
- Save
Set up work modes
Configure how the phone number behaves during and after business hours:
| Setting | Value |
|---|---|
| Voice Work Mode | Forward Off-Hours (or Always On for 24/7 AI answering) |
| Off-Hours Message | "Thank you for calling [Practice Name]. Our office is currently closed. Our hours are Monday through Friday, 8 AM to 5 PM. Please leave a message and we'll return your call on the next business day." |
| Forward Number | Your office's main line (for transfers during business hours) |
See Phone & Voice for all work mode options.
Step 5: Set Up Notifications for Messages and Transfers
Ensure your team knows when they need to follow up.
Missed call / message taken notification
- Go to Actions and click New Action
- Configure:
- Trigger: Task Entered, targeting "Transfer Call"
- Condition:
!is_business_hours(only after hours) - Action Type: Member Notify
- Recipients: Office manager or front desk team
- Message: "After-hours message from {{member.name}}: check the conversation in Chats for details."
Urgent triage notification
- Create another action:
- Trigger: Task Entered, targeting "Urgent Triage"
- Action Type: Member Notify
- Recipients: Clinical team or on-call provider
- Message: "URGENT: Caller {{member.name}} has an urgent medical concern. Review the conversation immediately."
Step 6: Add Office Information (Knowledge Base)
Give your receptionist quick access to office information.
-
Go to Knowledge > Files
-
Create a folder: "Office Information"
-
Create or upload files with common information:
- Office Hours & Location — Address, hours, parking, transit directions
- Services & Providers — List of services, provider names and specialties
- Insurance & Billing — Accepted insurance plans, billing policies, payment options
- New Patient Information — What to bring, how to prepare, intake process
- Contact Directory — Department phone numbers, fax numbers, email addresses
-
Enable Indexing on the "Office Information" folder
-
In your workflow, add the File Access ability pointed to this folder
Now your receptionist can search these documents to answer caller questions accurately.
Confirm the Result
-
Call your number. Call the phone number and test the greeting. Verify the agent introduces itself and asks how to help.
-
Test each routing path.
- Ask about office hours → verify the agent answers correctly
- Ask to schedule an appointment → verify routing to scheduling task
- Ask to speak with someone → verify the call is transferred (or a message is taken after hours)
- Describe a medical concern → verify urgent triage routing
-
Test after-hours behavior. Call outside business hours and verify the off-hours message plays (or the AI still answers, depending on your work mode configuration).
-
Check Chats. Review the conversations in Chats to see full transcripts of your test calls.
-
Verify notifications. Confirm that message-taken and urgent-triage notifications reach your team.
If the AI isn't answering calls, check that voice is enabled on the phone number, the workflow is assigned, and the agent has a voice configured.
What's Next
- Add SMS support. Enable SMS on the same number so callers can text instead of calling. The same workflow handles both — the AI adapts its communication style to the channel.
- Build a call analytics dashboard. Use Labels to categorize call types (scheduling, billing, general inquiry, urgent) and track volumes with member filters.
- Integrate with calendar. Connect the Calendar Booking ability so the receptionist can check real availability and book appointments during the call.
- Customize for departments. Create separate workflows for different departments (billing, clinical, pharmacy) and route callers to the right one based on their request.
- Add call recording review. Periodically review call transcripts in Chats to identify areas where the AI needs improved prompts or additional knowledge base content.
Related Resources
Send an HTML Email Campaign with AI-Powered Reply Handling
Build a complete email campaign with personalized HTML emails and AI-powered reply handling.
Build Your First Workflow — Appointment Reminder
Create an automated appointment reminder workflow that contacts members via SMS and handles rescheduling requests.
Build an AI-Powered Knowledge Base from Your Document Library
Upload a document library, enable semantic indexing, and configure your AI agent to search and reference the content during conversations.
All Guides
Browse all available guides