Skip to main content
Loading...
AGENT · AI FRONT OFFICE

An AI Receptionist For Inbound Customers

Calls, chats, and texts get answered right away — the agent checks your service area, quotes a price range, and offers real windows. By default nothing is booked until a dispatcher approves it.

Illustration of a receptionist at a front desk greeting a visitor, with a check-in tablet and floating schedule cards, captioned 'MangoApps AI Receptionist'
Chat · SMS · Voice
Channels
Dispatcher review
Bookings
FAQ · PDFs · Videos
KB Sources
AirBorn
Aptean
Aunt Martha's Health & Wellness
Great Western Bank
HEB Construction Ltd
Hendrick Health System
Proterra
Rolex USA
Suburban Propane
Tatts Group
Upstream Rehab
AirBorn
Aptean
Aunt Martha's Health & Wellness
Great Western Bank
HEB Construction Ltd
Hendrick Health System
Proterra
Rolex USA
Suburban Propane
Tatts Group
Upstream Rehab

HOW IT WORKS

How it handles an inbound — and follows up

From the first ring to the booked appointment (and the winback weeks later) — grounded in your service catalog, with every customer-facing action governed by the autonomy dial.

1. Detect

An inbound call/chat/SMS arrives, a lead goes cold, an estimate is declined. The Receptionist picks it up before a human has to.

2. Decide

Qualifies the request against the service catalog + business hours, answers from approved knowledge, scores booking + winback opportunities.

3. Act

Takes the booking request (recorded as Shadow while Shadow mode is on, a dispatcher approves it once that is off), places the outbound call, runs the winback when dialed to auto. Dialed to approve, its calls, texts and winback are held for an admin to confirm, and customers who contact you go to a dispatcher.

4. Log

Every intake, booking, call, and escalation lands in the conversation record, and what the AI handled shows in the console's "What the AI handled" feed.

AUTONOMY YOU CONTROL

Three levels of autonomy. You pick.

The Receptionist's customer-facing actions run on the same trust dial as every MangoApps AI solution. The dial ships on Auto; dial it down to Approve or Off whenever you want a person in front of what it sends, and back up when you're ready. Bookings are a separate control: Shadow mode starts on, so bookings it takes are recorded as Shadow and kept out of the review queue. Turn it off and a dispatcher approves every booking by default.

Off — manual only

It takes no action on its own — chats and texts go straight to a dispatcher, on a call it can only pass the caller to a person, and it places no calls and sends no texts or winback.

Approve

Customers who contact you still go to a dispatcher. The outbound calls, follow-up texts and winback it prepares are held for a one-tap confirm — held actions surface in the console's "AI actions to approve" list.

Auto

It places calls and runs winback on its own when confident. Bookings it takes are recorded as Shadow while Shadow mode is on, and wait for a dispatcher once it is off. The cases you flag still need a human.

Screenshot of an employee dashboard for Anthony Rivera with shifts, time off and earnings, overlaid by a chat asking "When is my next shift?" answered with a swap link

One console — the front-office team's autopilot home

The AI Receptionist console shows the auto-handled rate (intakes resolved without human escalation), the most recent things the AI handled, and the "AI actions to approve" list of held calls, texts + winback when the dial is at approve. The autonomy dial lives on the AI Front Office settings page.

  • Hero metric — auto-handled rate (intakes handled without human escalation).
  • "What the AI handled" feed — the most recent intakes, bookings, calls, and winback.
  • "AI actions to approve" list — held calls, texts + winback when the dial is at approve.
  • Autonomy dial — Off / Approve / Auto, on the AI Front Office settings page.

Why Inbound Customer Intake Breaks — And What The Receptionist Fixes First

Field-service and home-services dispatchers lose hours every day to inbound calls that follow the same five-step script. AI Front Office runs that script faithfully — and escalates the moment the conversation needs a human.

Calls Outside Business Hours Go To Voicemail (And Customers To Competitors)

A burst pipe at 9pm goes to the company that picks up. If the answer is a voicemail prompt and a callback in the morning, the customer is already calling the next name on the search results page. The first response wins the job.

Dispatchers Spend All Day On The Same Five Questions

"Do you service my area?" "Do you work on Trane?" "What's the diagnostic fee?" "Is anyone available today?" "Are you licensed in Texas?" — every dispatcher in the country gets the same script every morning, and it eats the hours that should be spent on actual scheduling.

Prices Get Quoted That Should Never Have Been Quoted

A new CSR sees a request, eyeballs a number, and quotes it — sight unseen. The truck rolls, the real diagnosis is different, and the customer is anchored on the bad number. The receptionist never quotes an exact price. Price RANGE plus trip charge — always.

After-Hours Bookings Land Without Triage And Wreck The Morning

A web form takes a request, drops it in an inbox, and the dispatcher has to triage 20 of them at 7am before the first truck moves. Every one of them needs a callback to confirm the details that should have been captured the first time.

Out-Of-Area Requests Eat An Hour Before Anyone Says No

Half the calls are addresses you don't actually cover, but nobody catches it until the dispatcher pulls up the map mid-conversation. By then you've taken the contact info, asked the diagnostic questions, and built a customer's hope — and the polite "we don't service that zip" feels like a bait-and-switch. The receptionist verifies coverage before it offers a slot.

New CSRs Take Weeks To Run The Intake Script Right

Every new hire learns the same five-question script by listening to recordings and getting corrected for a month. In the meantime, calls get fumbled — the wrong service type goes in, the trip charge isn't disclosed, the licensing question gets a shrug. The receptionist runs day-one with the catalog, the coverage map, and the KB already loaded.

AI Front Office At A Glance

Best Fit

AI Front Office Receptionist

Greets, qualifies, books appointments, and routes to a human dispatcher when needed.

Expected ROI
24/7
Coverage
Range
Pricing Only
Human
Final Booking
Includes
Service-Area Verification, Catalog & Pricing Range, and Next-Available Window
Composes With
Field Service AI, Bookings AI, Libraries AI, and Communications AI

Inside AI Front Office — The Actual Capabilities

Every block below maps to a real tool the receptionist uses against your service catalog, coverage map, calendar, and authored knowledge base. By default the agent never confirms a final appointment — nothing is booked until a human dispatcher approves it; booking without review is a setting you turn on.

Mock chat 'Inbound chat · service-area check · price range · never an exact quote': a Front Office Receptionist checks an Austin address, gives an AC repair price range and a booking window.
INTAKE

Qualify The Visitor Before You Quote Anything

The receptionist runs through the same intake the best dispatcher would — identify the customer, confirm the address is in coverage, match the free-text request to a real service in the catalog, and pull pricing as a range (never an exact quote). All before the agent proposes a window.

  • Look up returning customers — lookup_customer by phone, email, or address; phone is normalized to E.164.
  • Verify service area before offering a slot — lookup_service_area by address or lat/lng; out-of-area requests escalate instead of auto-booking.
  • Match free-text requests to the catalog — lookup_service_catalog turns "AC isn't cooling" into the right service_type_key with display name and price range.
  • Price as a RANGE, never an exact quote — the catalog returns a range and trip-charge cents; the agent quotes neither tighter nor looser than that.
See Field Service Agent
Mockup titled "Authored knowledge base · FAQ + uploaded docs + transcribed videos": a visitor asks about Trane service and a diagnostic fee, with FAQ and PDF sources cited
KB-GROUNDED ANSWERS

Answer Pre-Booking Questions From The Tenant's Own Knowledge Base

Visitors ask all sorts of things before they'll book — "do you service Trane?", "are you licensed in this state?", "do you offer financing?", "what's your warranty?". The agent searches the tenant's authored knowledge base — FAQ articles, uploaded PDFs and Word docs, and auto-transcribed videos — and cites the source it used. If the KB has nothing, the agent does not invent an answer.

  • Search the authored KB — lookup_knowledge_base covers FAQ entries, uploaded documents, and transcribed video content.
  • Each result carries a source_label — "FAQ" / "document" / "video" — so the agent can cite the source in its reply.
  • Gated by ai_front_office_kb_enabled — tenants without an authored KB simply don't see the tool.
  • No hallucination — if no relevant entry comes back, the agent asks a clarifying question or escalates instead of guessing.
Card flow: a visitor's emergency message, an escalate_to_dispatcher step, and a dispatcher inbox entry with Call Visitor and Reassign buttons
BOOKING + REVIEW

Propose A Real Window, Then Hand The Booking To A Human

Once the service is matched and the area is confirmed, the agent pulls up to three real windows from the calendar and lets the visitor pick. A BookingRequest is created — by default not yet a confirmed appointment: it waits for a dispatcher to approve it, or, while Shadow mode is on, is only recorded for the team to read. Idempotency keys make retries safe.

  • Pull real windows — lookup_next_available_window returns up to 3 windows; the agent never invents a slot.
  • Booking enters dispatcher review — create_booking_request writes the booking request without asking the visitor to confirm again; once Shadow mode is off, a human owns the final confirmation.
  • Idempotency-keyed writes — every booking call carries an idempotency_key so a retry or duplicate turn doesn't double-book.
  • Captures everything the dispatcher needs — service type, urgency, address, phone, name, requested window, returning-customer id when applicable.
Card flow: a visitor's emergency message, an escalate_to_dispatcher step, and a dispatcher inbox entry with Call Visitor and Reassign buttons
DISPATCHER HANDOFF

Escalate To A Human The Moment The Conversation Should Leave The Agent

The agent doesn't try to save every conversation. If the request is out of scope, the catalog returned no match, the visitor explicitly asks for a person, or any tool returned an error, the agent marks the conversation awaiting_dispatcher and notifies on-call. The dispatcher inherits the full thread plus a one-paragraph summary.

  • Eight explicit escalation reasons — out_of_service_area, no_availability, customer_request, tool_error, sla_at_risk, sensitive_topic, language_barrier, other.
  • One-paragraph summary required — dispatcher gets context, not just a transcript.
  • Full thread inherited — every visitor turn, every tool call, every agent reply is on the record when the human picks it up.
  • On-call dispatchers paged — escalations route through the configured on-call channel, not a generic inbox.
Screenshot of an employee dashboard for Anthony Rivera with shifts, time off and earnings, overlaid by a chat asking "When is my next shift?" answered with a swap link

Outcomes Teams Can Measure

The receptionist's job is to win the first response, take qualified bookings out of the dispatcher's morning, and never quote a price the truck can't honor. Measure against your pre-agent baseline so the team can see what the receptionist absorbed and where dispatchers are still doing intake work.

  • After-hours capture rate — bookings created outside business hours that would previously have hit voicemail.
  • First-response time — seconds from inbound message to first agent reply; the metric customers actually feel.
  • Qualified-booking rate — share of bookings where service area, catalog match, and window were all confirmed before the dispatcher touched the record.
  • Dispatcher-touch rate per booking — average dispatcher minutes per inbound booking, vs the pre-agent baseline.
  • Escalation reason mix — what's reaching dispatchers (and which reasons are the real bottlenecks worth fixing in the catalog or KB).
See The ADLC
Diagram titled 'Ask AI sits beside the app · doesn't replace it': an existing app's records list beside an Ask AI chat panel and four 'same' labels.

Two Writes · Dispatcher Review By Default

The agent has two write tools — create_booking_request and escalate_to_dispatcher — and neither asks the visitor for a second confirmation: the visitor's own request is the go-ahead. With the default settings nothing is booked until a human dispatcher approves it (Shadow mode, on by default, only records bookings). Turn dispatcher review off and a booking for an address inside a service area you configured, made during business hours, is booked without review; everything else still waits for a dispatcher. The escalation marks the conversation and notifies your on-call dispatchers.

  • Two write tools, named — create_booking_request writes a booking request that is recorded as Shadow while Shadow mode is on and reviewed by a dispatcher once it is off; escalate_to_dispatcher marks the conversation as waiting for a dispatcher and notifies on-call.
  • Price range, never an exact quote — the catalog returns a range; the agent quotes within that range and discloses the trip charge.
  • Scoped to a single intake conversation — the receptionist is invoked by AiFrontOffice::ReceptionistService and the voice webhook; it is intentionally NOT registered in DOMAIN_MODULES for cross-app routing.
  • Audit trail on every turn — visitor message, tool call, agent reply, escalation reason, and dispatcher handoff are all captured on the IntakeConversation record.
See Field Service Agent

WHAT TEAMS TRY INSTEAD

The four alternatives — and why none of them know your service area, your catalog, or your dispatcher

Field-service operators usually try one of these four before considering an embedded receptionist. None survive the first real intake — none of them check coverage, quote a real catalog range, or hand off cleanly.

Instead of

Pasting inbound requests into ChatGPT, Claude, or Copilot

General-purpose AI doing one-shot replies to copied customer messages

  • The receptionist runs the actual five-step intake — coverage check, catalog match, price range, real window — instead of generating polite prose
  • Reads the tenant's catalog and coverage polygon directly, so it knows when to say "we don't service that zip" before booking hope
  • Writes a real BookingRequest for dispatcher review once Shadow mode is off; a generic chatbot can't create a structured record the dispatcher inherits
Instead of

Dialpad AI / Hyro / Ada

Vendor-trapped voice-bots that live in the phone system silo

  • Sees the same service catalog, coverage map, and calendar that dispatchers and field techs use — no parallel knowledge graph to sync
  • One agent across chat, SMS, and voice — not three separate vendors with three separate logs and three separate KBs
  • Pricing comes from the catalog as a real range plus trip charge, not from prompts a contact-center admin tuned by hand
Instead of

A custom intake bot built on the web form

An engineering team's six-month build, then forever maintenance

  • Shipped already. Engineering spends zero weeks plumbing identity, KB grounding, idempotency keys, or escalation routing
  • Gets the eight explicit escalation reasons, on-call paging, and conversation audit trail for free — most DIY builds plateau at "create a row"
  • Inherits new tools and capability tiers without redeployment as the platform evolves
Instead of

The manual fallback — voicemail and a callback in the morning

The default when the dispatcher is on another call

  • Picks up at 9pm when a burst pipe is calling, not at 8am after the customer already called the next name on the results page
  • Runs the same intake script the senior dispatcher would run — day one, no training tail
  • Out-of-area requests escalate before the 45-minute callback eats the morning

PLATFORM ADVANTAGE

AI Front Office inherits everything the platform already runs

A standalone receptionist bot has to plumb each of these. AI Front Office gets them for free because Field Service, Bookings, and Libraries already do.

Cross-app data plane

Reads the Field Service catalog, the coverage polygons, the Bookings calendar, and the Libraries KB to run a real intake — not just a polite reply.

Unified permission model

Visitors are not platform users — the receptionist runs in an unauthenticated boundary with explicit scopes, and dispatcher handoff respects on-call and routing rules already configured.

Audit trail on every turn

Visitor message, every tool call, agent reply, escalation reason, and dispatcher handoff all live on the IntakeConversation record.

Replies in the caller's language

With the Bilingual setting on, the receptionist detects the caller's language on the first turn and conducts the intake in Spanish or English; with it off it stays in English and offers a handoff to a person.

Mobile delivery for on-call dispatch

Escalations and pending-review bookings page the on-call dispatcher inside the same mobile app they already use for jobs and timesheets — not a separate paging vendor.

Provider-agnostic model tiering

The platform assigns each agent one model tier suited to its work — set for the agent, not picked per question.

INDUSTRY FIT

Industries where an AI receptionist absorbs the most dispatcher time

AI Front Office helps wherever inbound customer intake bottlenecks at the front desk.

HVAC & Plumbing

A burst pipe at 9pm books a morning window without waking the on-call dispatcher. The catalog returns a diagnostic-fee range, not a fake flat quote.

Electrical & Solar

Licensing questions ("are you licensed in Texas?") get answered from the KB with a citation instead of a "let me check and call you back."

Pest Control

Recurring-treatment customers get matched by phone or address; first-time callers run through the five-step intake before a window is offered.

Appliance & Garage Door Repair

Brand-specific questions ("do you work on Trane?", "do you service LiftMaster?") get KB-grounded answers with a source label, not invented brand coverage.

Cleaning & Restoration

After-hours water-damage calls get qualified, geo-checked, and booked into pending review before the morning triage queue forms.

Property Management & HOA Vendors

Tenant intake runs in the tenant's language, captures unit number and access notes, and hands a structured ticket to the on-call vendor.

WHY MANGOAPPS WINS

An embedded agent beats a chatbot, a vendor add-on, or a custom build on every axis

The argument finance, security, IT, and ops all share — and the one a generic chatbot or a single-channel voice-bot structurally cannot answer.

Cheaper than the alternatives

No per-seat ChatGPT license, no Dialpad AI / Hyro / Ada contract, no six-month custom intake build, no overnight answering-service retainer.

More secure

Visitors run in an unauthenticated scope; every tool call is kept on the IntakeConversation record. AI requests go to the platform's configured model providers, like every MangoApps agent.

Easier to deploy

Already deployed if you have Field Service and Bookings enabled. Turn the receptionist on, point it at the catalog and coverage polygons, and it's running the same day.

Easier to use

Visitors get one experience across chat, SMS, and voice — and dispatchers get one inbox of pending-review bookings and escalations instead of three vendor consoles.

Easier to manage

KB toggle, voice toggle, and escalation routing all sit in the same admin console as every other app, under the same access model.

Easier to extend

Shares the agentic tool framework with every other MangoApps agent. A new intake question (badge required? gate code?) ships as a tool, not a prompt rewrite.

AI is actually better

A vendor voice-bot can read a script. Only AI Front Office can also check whether the address falls inside today's coverage polygon, match the request to a real catalog SKU, find a real window, and hand a structured booking to the on-call dispatcher.

Customer Success

Related Customer Stories

Improving Internal Communications Customer Case Studies
How An Adaptable Intranet Can Transform A Unique Workplace Customer Case Studies
How A Modern Intranet Provides Accessibility & Community Customer Case Studies
How To Connect Employees Outside Of The Office Customer Case Studies
A 5-step strategy for successful intranet launch Customer Case Studies
How An Intranet Transforms Communication & Culture Customer Case Studies

Frequently Asked Questions About AI Front Office

Seven tools across the intake conversation — lookup_customer (returning-customer match by phone/email/address), lookup_service_area (in-coverage check), lookup_service_catalog (match a free-text request to a service type and price range), lookup_next_available_window (up to 3 real windows from the calendar), lookup_knowledge_base (search FAQ + uploaded docs + transcribed videos for pre-booking questions), create_booking_request (by default nothing is booked until a dispatcher approves it), and escalate_to_dispatcher with one of eight explicit reasons.

No final prices, and by default no confirmed appointments. Pricing is a RANGE returned by the catalog plus an explicit trip-charge figure — the agent is forbidden to tighten the range into an exact quote. With the default settings nothing is booked until a human dispatcher approves it — the dispatcher owns the final confirmation. If you turn dispatcher review off, a booking for an address inside a service area you configured, made during business hours, is booked without review; the rest still wait for a dispatcher.

The agent asks a clarifying question or escalates with reason other / sensitive_topic. It does not invent an answer. lookup_knowledge_base is also gated by the ai_front_office_kb_enabled tenant config — tenants without an authored KB simply don't see the tool, and the agent won't reach for it.

Eight explicit escalation reasons drive escalate_to_dispatcher — out_of_service_area (catalog/coverage miss), no_availability (calendar returned nothing), customer_request (visitor asked for a human), tool_error (any tool failed), sla_at_risk (urgency the agent shouldn't handle solo), sensitive_topic, language_barrier, and other. Each escalation includes a one-paragraph summary plus the full conversation transcript.

AI Front Office is deliberately NOT registered in Agents::ToolRegistry::DOMAIN_MODULES. It is invoked directly by AiFrontOffice::ReceptionistService (chat/SMS) and Hooks::VapiController#handle_function_call (voice). Its tools are scoped to a single unauthenticated intake conversation and must never be exposed to authenticated agents or the cross-app router.

Let's Talk

Every team. Every employee. Every workflow. One AI platform — built for the frontline. Since 2008, trusted by 2 million+ users with an NPS of 78.

Why Choose Us?

  • Frontline AI: Governed AI for every employee and workflow.
  • Top Security: HITRUST, ISO & SOC 2 certified.
  • Exceptional UX: Delightful on mobile and desktop.
  • Proven Results: 98% customer retention rate.

Rolled out to every employee at AutoZone (125,000), PetSmart (50,000+), A.S. Watson and Raley's (20,000) — and at larger retailers we are not permitted to name.

Trusted by legendary companies

Prefer to explore first? Ask AI about AI Front Office Agent →