Log In Sign Up AI Call Center AI Cold Calling AI Chat Widget Restaurants Healthcare Hotels & Hospitality Retail & E-commerce Logistics Field Services How It Works Pricing About Us Book a Demo
Under the hood

Inside every Orpanai call

A look at what the receptionist actually does between the moment it hears a caller and the moment it speaks back. With real sample calls and notes on what's happening behind each line.

The anatomy

Six parts working together

An AI receptionist isn't one thing. It's a loop of six components, and each one has a specific job. The easiest way to understand the whole is to understand what each part does.

👂

Ears: speech-to-text

The receptionist turns voice into text as the caller speaks, not after they finish. It picks up the language on its own and copes with accents, background noise, and the little pauses people make when they're thinking.

🧠

Memory: customer lookup

Before the caller's second word is out, the receptionist has already matched their phone number against your CRM, PMS or EMR. So the call starts with context. It knows who's calling and what they did last time.

💡

Brain: reasoning and knowledge

A language model reads your business knowledge base (menu, hours, services, prices, policies) and works out what to say, what to ask, and what to do next. This is the part that makes the agent feel like it actually knows your business.

✍️

Hands: actions in your system

When something needs to be saved (a booking, an order, a quote, a ticket) the receptionist writes it straight into your reservation system, CRM, PMS, EMR or ERP. Nobody on your team has to retype anything afterwards.

🗣️

Mouth: text-to-speech

The reply comes out in a natural voice, in the caller's language, in the tone you set for your brand. Audio starts streaming while the response is still being written, so the caller doesn't sit through an awkward silence.

⚖️

Judgment: escalation rules

The receptionist knows when a call shouldn't be handled by AI. It hands the conversation to a teammate live, with the full context already on screen, the moment a caller asks for a person, confidence drops, or any of your rules fires.

Sample inbound call

A real reservation, narrated step by step

Here's a normal call from start to finish. On the left is what the caller and the agent actually say. On the right is what's happening in the background, line by line.

Industry: Restaurant Channel: Inbound phone ⏱ Total call: 47 s
📞 Phone rings

(call answered on the first ring)

👂 Ears + 🧠 Memory The call lands on your business number and Orpanai picks it up. The caller's number is matched against your CRM in about 120 ms. The caller is recognised as Marie L., last visit two months ago.
🤖 Agent

"Bonjour Marie, merci d'appeler Le Bistro. Comment puis-je vous aider aujourd'hui?"

🗣 Mouth Language picked up from the caller's area code. The greeting uses her first name. Audio starts streaming as the sentence is generated, so there's no pause before she hears the voice.
🙋 Caller

"Yes hi, I'd like to book a table for 4 people tomorrow night around 7 pm."

👂 Ears Transcribed in about 380 ms. The caller switched from French to English mid-call. The agent picks that up and continues in English.
⚙️ System

intent = reservation · party_size = 4 · date = 2026-05-19 · time ≈ 19:00 · checking availability…

💡 Brain + ✍️ Hands Intent classified, the details pulled out. The agent asks OpenTable for a table tomorrow at 7 pm for four people. One slot comes back, at 7:15.
🤖 Agent

"7 pm is fully booked tomorrow, but I have a table for 4 at 7:15 pm. Would that work for you?"

💡 Brain No exact match, so the closest option is offered instead. The agent doesn't say "I can't help with that". It solves the request within the rules you defined.
🙋 Caller

"7:15 works. Can we get the table by the window?"

💡 Brain The window-seat request is added as a note on the reservation. The agent doesn't promise it, it just flags it for your host.
⚙️ System

reservation_id = R-48217 · table_pref = "window" · confirmation SMS dispatched

✍️ Hands Reservation written to OpenTable in about 280 ms. Marie's CRM record gets updated. A confirmation text is sent at the same time.
🤖 Agent

"You're all set, Marie. 7:15 pm tomorrow, table for 4, with a note for a window seat. I've texted you the confirmation. See you tomorrow!"

🗣 Mouth + ⚖️ Judgment The agent confirms what was booked out loud, mentions the note about the window seat, and ends the call. No need for a human; none of the escalation rules fired.
Sample outbound call

The same agent, reaching out

Outbound uses the same six components, just in a different order. The agent picks who to call, dials them, listens, and books. Here's a real reactivation for a dental clinic.

Industry: Dental clinic Campaign: 6-month recall ⏱ Total call: 1 m 12 s
⚙️ System

queue = recall-q2 · target = James K. · last_cleaning = 2025-11-04 · local_time = 14:32 (within calling window) · dialing…

🧠 Memory + ⚖️ Judgment The list comes straight from your PMS: patients overdue for a 6-month cleaning. Local time is inside the calling window you set (9 am to 5 pm), and James has a valid CASL consent on file.
🙋 James

"Hello?"

👂 Ears The system recognised a human voice, not a voicemail greeting. If James hadn't picked up, the agent would have left the message you wrote for missed calls.
🤖 Agent

"Hi James, this is the front desk at Bright Smile Dental. Just a quick courtesy call. Our records show you're due for your 6-month cleaning. Would you like me to find a time that works?"

🗣 Mouth + 💡 Brain The opener identifies the clinic right away (a CASL requirement), says why the agent is calling, and ends on a question so James knows what to do next.
🙋 James

"Oh, sure. Do you have anything next week in the afternoon?"

💡 Brain Intent: schedule. Constraints: next week, afternoon. The agent searches the clinic calendar for openings inside those bounds.
🤖 Agent

"I have Wednesday at 2:30 pm or Thursday at 4 pm with Dr. Chen. Which works better?"

💡 Brain The agent offers two specific options instead of asking "when are you free?". Concrete choices tend to convert reactivations at higher rates.
🙋 James

"Wednesday at 2:30 is perfect."

👂 Ears The agent captured a clear confirmation, so it won't ask "are you sure?". There's nothing left to clarify.
⚙️ System

appointment_id = A-9921 · provider = Dr. Chen · type = cleaning · reminder_sms = T-24h · written to PMS

✍️ Hands The appointment is written into the PMS. A reminder text is queued for 24 hours before the visit. The recall campaign marks James as booked, so it won't call him again.
🤖 Agent

"Booked. Wednesday at 2:30 pm with Dr. Chen. You'll get a text reminder the day before. Thanks James, see you then!"

🗣 Mouth The agent says the booking back out loud before hanging up, so James never has to wonder whether it actually went through.
Why it feels human

The latency budget

Calls feel natural because each step finishes in milliseconds, and the next one starts before the previous one is done. Here's what a typical turn looks like in numbers.

👂 Speech-to-text

~600 ms

Streamed transcription. The text is ready as the caller's last syllable lands.

💡 Reasoning

~800 ms

Working out what the caller wants, looking it up, deciding the action, drafting the reply.

🗣 Text-to-speech

~200 ms

Time until the first audio chunk plays. The rest of the sentence streams while the caller is already hearing it.

⏱ Perceived response

≈ 1.6 s

About the same as a fast human receptionist on a good day.

When it hands off

The receptionist knows what it doesn't know

Every Orpanai deployment ships with escalation rules. The agent transfers to a human the moment any of these triggers fire, and the transcript and context are already on the teammate's screen when they pick up.

🙋

Caller asks for a human

If the caller says "can I speak to someone?", "get me a manager", or anything close, the agent transfers right away. No friction, no script to escape.

📉

Confidence drops

If the model isn't sure it understood the caller, or the request falls outside the knowledge base, the agent hands the call off instead of guessing.

🚨

Sensitive or urgent topic

Medical concerns, complaints, threats, or anything you flag as "always human" gets escalated by policy. The agent doesn't have to make the judgment call.

💰

High-value request

Catering above a threshold, large group bookings, custom quotes. Any time you'd rather a person close the deal, you can route it to a teammate.

🔄

Repeated misunderstanding

If the agent fails to resolve a request after two attempts, it stops trying and brings in a teammate. The caller never gets stuck in a loop.

🛠️

Your custom rules

If you can describe it, you can use it as a trigger. VIP customers, specific keywords, time-of-day constraints, anything that fits how your team already works.

See it live on your own number

We'll set up a custom demo using your real workflows, your real phone number, and your reservation or CRM system.

Book a demo