Receptionist
Answer calls when I'm busy, take messages, book appointments.
The classic use case: your business phone rings, your AI receptionist answers, handles routine requests, books appointments, and only transfers to a human when actually needed.
Goal
A friendly receptionist that:
- Greets callers professionally
- Books appointments with name, phone, reason, preferred time
- Routes "urgent" requests to a human
- Captures contact info if the caller just wants a callback
Recommended preset
Balanced — gpt-5.4-mini + Deepgram nova-3 + Deepgram Helena. About ~₹4/minute, 900ms latency.
If your callers speak Hindi/Tamil/etc., switch to Balanced (India) which uses Sarvam STT + ElevenLabs multilingual TTS.
System prompt (copy-paste)
You are Priya, the receptionist at Greenleaf Dental Clinic in Mumbai.
We're open Monday-Friday 9 AM to 7 PM IST, Saturdays 9 AM to 2 PM.
Closed Sundays and public holidays.
Your job, in order:
1. Greet the caller warmly.
2. Ask how you can help.
3. If they want an appointment:
- Get their name (first name only is fine)
- Get their phone number (in case we need to confirm)
- Get the reason for the visit (cleaning, checkup, root canal, emergency, other)
- Get their preferred date and time (we have 30-min slots; offer two options if they're flexible)
- Confirm the booking by repeating it back
4. If they want to leave a message, capture the name, number, and message — say we'll call back the same day.
5. End the call with "We'll see you then. Have a good day."
Hard rules:
- If they say "emergency", "in a lot of pain", or "bleeding": ask them to come within 30 minutes, no booking needed.
- If they ask about prices: say ₹500 for cleaning, ₹3000 for root canal, ₹800 for checkup. For anything else, say "I'll let the doctor confirm during the visit."
- If they ask about a doctor by name: we have Dr. Aisha (general) and Dr. Rohan (root canal specialist).
- If they sound frustrated or insist on a human, say "Let me get someone — please hold" and use the transfer_to_human tool.
- Never invent prices, dates, doctor names, or services.
Speak warmly but stay under 2 sentences per turn. Don't repeat the same phrase twice in a row.Welcome message
Hi, thanks for calling Greenleaf Dental. This is Priya — how can I help?Settings
Configure → Advanced
| Setting | Value | Why |
|---|---|---|
| Allow interruptions | On | Callers expect to interrupt naturally |
| Mute during welcome | On | Don't let them cut off the greeting |
| Enable call recording | On | Compliance + training |
| Enable end-call detection | On | "Bye" / "thank you" → bot hangs up gracefully |
| Filter incomplete turns | On | Don't reply to "uh..." mid-thought |
Tools
1. Transfer to human
Configure → Actions → Call Transfer → Transfer to Human
| Field | Value |
|---|---|
| Enabled | ✓ |
| Destination | +91-your-front-desk-number |
| Trigger description | "Transfer when caller is frustrated, asks for a human, has a complaint, or asks anything not covered by the prompt." |
2. HTTP tool — save appointment (optional)
If you want to auto-save bookings to your CRM:
Configure → Actions → HTTP Tools → + Add
| Field | Value |
|---|---|
| Name | book_appointment |
| Description | "Save a confirmed appointment to the CRM. Call this only after confirming all details with the caller." |
| Method | POST |
| URL | https://your-crm.example.com/api/appointments |
| Headers | Authorization: Bearer YOUR_KEY |
| Parameters | name (string, required), phone (string, required), reason (string, required), slot (string, required) |
| Wait message | "One moment, just booking that for you..." |
| Error message | "Hmm, the booking system is slow right now. Can I just take your details and call you back?" |
Phone setup
- Phone Numbers → Buy Number (or use an existing one)
- Edit the number → set Inbound agent = your receptionist agent
- Test by calling from your own phone
How to test
In the agent page, click Test Call and try these:
| Try saying... | Expected behavior |
|---|---|
| "Hi, I'd like to book an appointment for next Tuesday at 3 PM." | Asks for name, phone, reason. Confirms slot. |
| "How much for a root canal?" | Says "₹3000". Asks if they want to book. |
| "I'm in a lot of pain right now." | Says to come within 30 min, no booking. |
| "Can I speak to Dr. Aisha directly?" | Triggers transfer_to_human (offers callback). |
| "What are your hours?" | "Mon-Fri 9 AM to 7 PM IST..." |
Typical cost
A 2-minute booking call:
LLM (gpt-5.4-mini, ~600 tokens): ₹0.30
STT (Deepgram, 2 min): ₹1.00
TTS (Deepgram, ~600 chars): ₹3.10
SIP (phone trunk, 2 min): ₹1.34
─────────────────────────────────────
Provider total: ₹5.74
+ 30% margin: ₹1.72
─────────────────────────────────────
Charged to your account: ₹7.46Approximately ₹3.50–₹4/min for booking calls. Surveys/short calls cost less.
Common mistakes
| Mistake | Fix |
|---|---|
| Bot gives wrong prices | Add specific prices in the prompt; tell it explicitly "never invent prices" |
| Bot doesn't transfer when frustrated | Make trigger_description more specific. Include emotional cues: "frustrated, raises voice, complains" |
| Bot books appointments outside business hours | List your exact hours in the prompt and add: "Never offer slots outside business hours" |
| Caller says "yes" but bot doesn't catch it | Phase 5 (Smart Turn v3.2 + filter_incomplete_user_turns) fixes most of this. Already on by default. |
| Bot's voice sounds robotic | Switch to Premium preset (ElevenLabs voices are more natural) |
What's next
- Post-call analysis — auto-extract
appointment_booked: true+slotfrom every call - Dynamic variables — for personalized outbound reminders the next day
- Campaigns — bulk-call "reminder tomorrow"