Loading...
Help Center / Getting Started / AI Front Office App Overview

AI Front Office App Overview

AI Front Office App Overview

The AI receptionist that answers chat, SMS, and phone calls for service businesses β€” qualifies the request, books the appointment, and hands the work to your operations system.


What is the AI Front Office App?

AI Front Office is the B2C front desk for a service business β€” the homeowner calling a plumbing company, the customer booking a salon appointment, the renter chatting in for a service request. The AI receptionist handles inbound on web chat, SMS, voice (phone), and web voice (browser mic), qualifies the request, and books the appointment β€” then hands the booked work to Field Service Suite (or Bookings, etc.) where operations actually delivers it.

It’s distinct from Mango GTM β€” that’s the B2B SaaS sales funnel for the tenant business itself; AI Front Office is the front desk for the tenant business’s own customers.

Core Value Proposition:

  • πŸ“ž Multi-Channel Receptionist β€” Chat, SMS, voice, and web voice β€” one agent, one knowledge base, one set of guardrails.
  • ⏱️ Speed-to-Lead SLA β€” Track time-to-first-contact, warn at 25% remaining, breach-notify dispatchers when the window expires.
  • πŸ›‘οΈ Safety-First Rollout β€” Shadow mode, after-hours-only mode, and dispatcher-approves-all mode let you pilot without risk.
  • πŸ” Closed-Loop Win-Back β€” TCPA-compliant SMS / email outreach to dormant customers, declined estimates, and missed calls.

At a Glance

⏱️ Setup Time πŸ“‘ Channels πŸ›‘οΈ Safety Modes πŸ“± Mobile Ready
~30 minutes Chat, SMS, Voice, Web Voice 3 (after-hours, shadow, approve-all) βœ… Yes

Perfect For:

  • πŸ› οΈ Service businesses (plumbing, HVAC, electrical, salons) β€” Capture and book inbound that would otherwise miss the receptionist.
  • πŸŒ™ Teams with after-hours demand β€” Run AI after-hours, humans during the day, to catch jobs that would have voice-mailed.
  • πŸ“Š Operations leaders chasing speed-to-lead β€” Surface and break the SLA window before a competitor beats you to the call-back.

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    INBOUND β†’ BOOKED WORK ORDER                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚   β”‚  CUSTOMER    │─────▢│ AI RECEPT-   │─────▢│  BOOKING     β”‚         β”‚
β”‚   β”‚  CALLS / SMS β”‚      β”‚ IONIST       β”‚      β”‚  REQUEST     β”‚         β”‚
β”‚   β”‚  / CHATS     β”‚      β”‚ (qualifies)  β”‚      β”‚  (scored)    β”‚         β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                                                       β”‚                 β”‚
β”‚                                                       β–Ό                 β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚   β”‚   FSS WORK   │◀─────│  DISPATCHER  │◀─────│  ROUTING +   β”‚         β”‚
β”‚   β”‚   ORDER /    β”‚      β”‚   REVIEW     β”‚      β”‚  CONFIDENCE  β”‚         β”‚
β”‚   β”‚  SERVICE-    β”‚      β”‚  (or auto)   β”‚      β”‚  CHECK       β”‚         β”‚
β”‚   β”‚  TITAN JOB   β”‚      β”‚              β”‚      β”‚              β”‚         β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Channel & Integration Map

                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚   AI FRONT OFFICE       β”‚
                        β”‚  (Receptionist Agent)   β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β–Ό          β–Ό          β–Ό           β–Ό           β–Ό          β–Ό          β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Web  β”‚  β”‚ SMS  β”‚  β”‚ Voice  β”‚  β”‚  Web   β”‚  β”‚ FSS  β”‚  β”‚Service-β”‚  β”‚ Win-   β”‚
β”‚ Chat β”‚  β”‚(Twi- β”‚  β”‚ (Vapi+ β”‚  β”‚ Voice  β”‚  β”‚ Work β”‚  β”‚ Titan  β”‚  β”‚ Back   β”‚
β”‚Widgetβ”‚  β”‚ lio) β”‚  β”‚ Twilio)β”‚  β”‚(brwsr) β”‚  β”‚Ordersβ”‚  β”‚ Sync   β”‚  β”‚SMS/Eml β”‚
β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Features

πŸ€– AI Receptionist (Multi-Channel)

The Agents::AiFrontOfficeReceptionistAgent runs across every inbound channel with the same toolbox and guardrails.

Channel Description
Web Chat Public widget on book.{slug}.workforce.mangoapps.com
Inbound SMS Twilio number β†’ AI receptionist
Inbound Voice Vapi + Twilio (phone), with phone-number binding
Web Voice β€œTalk now” button on the chat widget β€” browser mic + Vapi

Built-in safety:

  • Pre-LLM topic gate β€” rejects off-scope and jailbreak attempts before they reach the model
  • Per-conversation token + cost guardrails β€” hard cap (default 50,000 tokens / 200Β’ per voice call); when exceeded the agent escalates to a dispatcher
  • Hallucination scan on AI responses (range-only quotes, no fabricated commitments)

Use Case: A homeowner calls at 9pm with a burst pipe. The voice agent answers, qualifies β€œemergency leak,” collects the address, books the slot, and pushes the urgent BookingRequest to the on-call dispatcher’s mobile.

πŸ’‘ Pro Tip: Enable Shadow Mode for the first week. The AI runs end-to-end and logs every conversation, but BookingRequests are tagged shadow and hidden from dispatchers. Review the transcripts and confidence scores before flipping it live.


πŸ›‘οΈ Safety-First Rollout Modes

Three independent modes that compose β€” keep all three on during the pilot, peel them off as confidence builds.

Mode Effect
After-Hours Only AI runs only when business hours are closed (per BusinessHoursService); humans handle business hours
Shadow Mode AI runs end-to-end, but BookingRequests are created with status=shadow and hidden from dispatchers
Dispatcher Approves All Every BookingRequest enters pending_review regardless of confidence β€” no auto-book

πŸ’‘ Pro Tip: Don’t disable all three modes at once. Order: drop β€œapproves all” first (now confidence-gated auto-book is allowed), then β€œshadow,” then β€œafter-hours” last when you trust the agent on live business-hours traffic.


πŸ“‹ Online Booking & Dispatch

The booking pipeline is the core of the app β€” every channel feeds into it.

Feature Description
Online booking widget Public form on the tenant subdomain (no AI conversation required)
BookingRequest Per-request record with confidence score + auto_book_eligible flag
Service-area validation Geocodes the address and checks against the tenant’s coverage zones
Customer match By phone or address β€” duplicates collapse onto the existing customer
Dispatcher routing rules DispatcherRoutingRule β€” service-type, zip, urgency match β†’ route to the right dispatcher
Confidence floor geocode_confidence_min (default 0.85) β€” below floor, never auto-book
One-click WorkOrder Approved BookingRequest converts to a Field Service WorkOrder
ServiceTitan sync Optional β€” push approved bookings to ServiceTitan as Jobs instead of creating FSS WorkOrders

⏱️ Speed-to-Lead SLA

The AiFrontOffice::SpeedToLeadMonitorJob sweeps every open BookingRequest minute-by-minute and notifies dispatchers when the SLA window is at risk.

Event When
Warning 25% of the window remains
Breach 100% of the window has elapsed
Default window 5 minutes (configurable)

One-shot flags (sla_warning_sent, sla_breach_sent) ensure each event fires at most once per booking.

Use Case: A new lead lands at 9:42am with a 5-minute SLA. At 9:45:45 the dispatcher’s mobile pings β€” β€œ1:15 left.” If unanswered, at 9:47am a breach notification fires and the lead is flagged red on the queue.


🚨 Urgent Booking Push + Sentiment Escalation

Feature Description
Urgent Booking Push DispatcherUrgentBookingPushJob β€” mobile push to dispatchers when an emergency or same-day BookingRequest lands; skips when shadow mode is on
Sentiment Escalation SentimentEscalationEvaluator β€” when the visitor shows sustained frustration (default: 2 consecutive negative turns), escalate to a dispatcher automatically
Voice Frustrated-Lost Tracking Voice calls also get a post-call frustrated_lost OutcomeEvent for analytics

πŸ” B2C Win-Back Campaigns

Closed-loop outreach to customers who slipped through the funnel β€” dormant customers, declined estimates, missed calls.

Feature Description
Audience builders Dormant customers, declined estimates, missed calls β€” all WinbackAudienceService-backed
AI-drafted copy WinbackOutreachDrafter writes tenant-voice SMS / email
Outbound delivery WinbackDeliveryService + WinbackOutreachMailer
TCPA-compliant consent Opt-in tracked, STOP keyword honored, per-tenant suppression list
Outbound voice follow-up Optional β€” OutboundCallScheduler schedules a follow-up call after a customer_declined_estimate decline (gated by outbound_voice_decline_followup_enabled)
Abandonment recovery Optional β€” when a chat / SMS conversation is marked abandoned and a phone is on file, schedule an outbound recovery call
Per-phone rate limit Default 3 outbound attempts per phone per 7-day window β€” hard cap across all trigger kinds

πŸŽ™οΈ Call Coach (AI Scoring)

CallCoachService scores conversations on four rubric dimensions; CsrCallScorecard stores the result.

Dimension What it measures
Greeting Did the rep open per the script?
Diagnosis Was the problem qualified before any pricing or scheduling?
Booking attempt Did the rep ask for the appointment?
Objection handling How did the rep respond to pushback?

Rubrics are tenant-configurable via CallCoachRubric.


πŸ“š Knowledge Base

When the ai_front_office_kb_enabled flag is on, the receptionist gets a lookup_knowledge_base tool that searches the tenant’s authored FAQ articles before escalating (β€œdo you service brand X?”, β€œwhat’s the warranty?”).

AiKnowledgeBaseService powers the lookup; tenants author articles per-business.


πŸ›‘οΈ Compliance & Safety

Feature Description
Two-party recording consent State-aware disclosure on voice calls
TCPA opt-in / STOP / suppression Full consent lifecycle on win-back outreach
PII auto-redaction Transcripts redacted after 90 days (configurable)
Hallucination scan Range-only quotes; no fabricated commitments

πŸ“Š Analytics

The AnalyticsService powers the analytics dashboard at /apps/ai_front_office/analytics.

Reception Metrics:

  • Inbound conversations by channel (chat / SMS / voice / web voice)
  • Booking conversion rate per channel
  • Auto-book vs manual-review breakdown
  • Speed-to-Lead warning + breach counts

Win-Back Metrics:

  • WinbackAnalyticsService β€” outreach sent, replies, recovered revenue
  • Per-message ROI (configurable cost: 0.5Β’ SMS / 0.1Β’ email default)

Call Coach Metrics:

  • Score distribution by rubric dimension
  • Trend over time per CSR

⏰ Background Jobs

Job What it does
AiFrontOffice::SpeedToLeadMonitorJob Minute-cadence SLA sweep (warning + breach)
AiFrontOffice::DispatcherUrgentBookingPushJob Mobile push for urgent BookingRequests
AiFrontOffice::OutboundCallJob Places scheduled outbound calls (decline / abandonment follow-up)
AiFrontOffice::EnrollWinbackCampaignJob Enrolls eligible customers in a win-back campaign
AiFrontOffice::SendWinbackEnrollmentJob Sends the enrolled outreach (SMS / email)

πŸ”” Notifications

Channel When
Mobile push (dispatcher) Urgent / same-day BookingRequest lands
Mobile push (dispatcher) Speed-to-Lead warning (25% window remaining)
Mobile push (dispatcher) Speed-to-Lead breach
Email (customer) Win-back outreach via WinbackOutreachMailer
SMS (customer) Win-back outreach + appointment confirmations

User Roles & Permissions

Role Capabilities
Member No access by default (configurable via allowed_roles)
Manager Review conversations, approve / decline BookingRequests, view analytics, view scorecards
Admin / Super Admin Everything Manager can do, plus configure routing rules, win-back campaigns, knowledge base, channel toggles, safety modes, SLA window, cost caps, ServiceTitan sync

Defaults: allowed_roles = [manager, admin, super_admin], admin_roles = [admin, super_admin].


How We Compare

AI Front Office sits in the AI receptionist for service businesses category, alongside RingDNA-style call answering and AI dispatchers like Goodcall and Numa. Verified differentiators:

Feature MangoApps Workforce Goodcall Numa RingDNA
Multi-channel (chat + SMS + voice + web voice) βœ… ⚑ ⚑ ⚑
Native handoff to FSS WorkOrder βœ… ❌ ❌ ❌
ServiceTitan sync βœ… βœ… βœ… ❌
Speed-to-Lead SLA tracking βœ… ❌ ⚑ βœ…
Shadow / after-hours / approve-all modes βœ… ❌ ❌ ❌
Closed-loop B2C win-back βœ… ❌ ⚑ ❌
Built-in TCPA + STOP-keyword handling βœ… βœ… βœ… βœ…
Legend: βœ… Included ❌ Not Available ⚑ Limited / partial

Why MangoApps Workforce?

  • πŸ”— Unified Platform β€” Booked appointments flow straight into Field Service WorkOrders, into Mango Spend reimbursements, into the same analytics surface as the rest of operations.
  • πŸ›‘οΈ Safety-First Rollout β€” Shadow + after-hours + approves-all modes are first-class settings, not feature requests. You can pilot for a week before any customer talks to the AI live.
  • πŸ€– AI-Native β€” Receptionist agent, win-back drafter, call coach, and KB lookup all built on the same LlmConnectionManager stack as the rest of MangoApps β€” not a third-party plug-in.

Getting Started

For Administrators

  1. Enable the app β€” In Admin β†’ Apps Marketplace, find AI Front Office and toggle app_enabled on.
  2. Bind a phone / channel β€” Add a TenantPhoneNumber (Twilio) or TenantWebChannel for the chat widget. Voice channels also need a Vapi assistant binding.
  3. Configure business hours β€” BusinessHoursService reads the tenant’s hours; the AI uses these to enforce after-hours-only mode.
  4. Pilot in shadow mode β€” Keep ai_receptionist_shadow_mode = true and ai_receptionist_dispatcher_approves_all = true. Enable one channel (chat is easiest) and let it run for 5–7 days.
  5. Review transcripts β€” Conversations tab shows every IntakeConversation with its confidence score and outcome. Look for misqualifications and fix the routing rules / KB articles.
  6. Drop approves-all β€” Once confident, disable dispatcher_approves_all. Now high-confidence bookings auto-route; low-confidence still queues for review.
  7. Drop shadow mode β€” When ready, real BookingRequests start flowing to dispatchers.
  8. Set the SLA β€” Tune speed_to_lead_minutes (default 5). Most service businesses aim for 5–15 minutes.
  9. Turn on win-back β€” Configure winback_campaigns_enabled, build an audience (start with declined estimates), and let the drafter generate the first outreach for review.

For Dispatchers / Managers

  1. Bookmark the queue β€” AI Front Office β†’ Booking Requests β†’ pending_review is your daily driver.
  2. Approve or decline β€” Each request shows the AI’s confidence, the conversation transcript, and the proposed time slot.
  3. Watch the SLA panel β€” At-risk bookings surface here automatically.
  4. Use Call Coach β€” Review your team’s CSR scorecards weekly; the rubric dimensions point at where to coach.

Best Practices

  • βœ… Always pilot in Shadow Mode first β€” A week in shadow catches misqualifications and routing gaps before any customer experiences them.
  • βœ… Tune the geocode confidence floor β€” Set geocode_confidence_min higher in dense urban markets where one street has multiple addresses; lower in rural where geocoding is fuzzy.
  • βœ… Author the KB before turning on KB tool β€” lookup_knowledge_base is only as good as the FAQs you write. Empty KB β†’ AI escalates anyway.
  • βœ… Watch per-call cost cap during voice rollout β€” The default 200Β’ is conservative; raise it only after you’ve verified average voice costs in shadow mode.
  • βœ… Honor STOP, every time β€” TCPA-compliant suppression isn’t optional. The platform handles it; don’t bypass it for β€œjust one more reach-out.”
  • βœ… Review Call Coach scorecards weekly β€” The rubric is most valuable when used as coaching feedback, not a leaderboard.

Frequently Asked Questions

Q: Is the voice channel production-ready?
A: Voice (inbound phone) ships behind ai_receptionist_voice_enabled and is a beta capability β€” the underlying Vapi + Twilio Media Streams integration is in place but is gated for tenants who explicitly opt in. Web voice (browser mic) and chat / SMS are the most stable channels at GA.

Q: How is this different from Mango GTM?
A: Mango GTM is the B2B SaaS sales funnel for the tenant business itself β€” capturing prospects, qualifying SQLs, scoring deals. AI Front Office is the B2C front desk for the tenant business’s own customers β€” the homeowner, the salon client, the rental tenant. Different audience, different agent, different outcomes.

Q: What happens if the AI doesn’t know the answer?
A: The agent has a strict allowlist of tools β€” lookup_knowledge_base (if KB enabled), create_booking_request (which goes through dispatcher review), and escalate_to_dispatcher. When confidence drops, it escalates. There’s no path from the agent to an unsupervised write β€” every booking creation goes through the dispatcher review queue when in approves-all mode, or is confidence-gated otherwise.

Q: How does TCPA compliance work for win-back?
A: Outbound SMS only goes to phones with a recorded opt-in; replies of STOP (and variants) auto-suppress; suppression is per-tenant and persists. Outbound voice follow-up additionally respects the per-phone outbound cap (default 3 per 7-day window) so a single number can’t be re-dialed indefinitely.

Q: Can I send approved bookings to ServiceTitan instead of FSS?
A: Yes β€” toggle servicetitan_sync_enabled on (requires a connected ServiceTitan integration). When ON, approved BookingRequests are pushed to ServiceTitan as Jobs instead of creating Field Service WorkOrders. The integration is one-way (push only).

Q: What’s the cost cap actually doing?
A: max_tokens_per_conversation (default 50,000) is a hard ceiling β€” when exceeded, the agent escalates to a dispatcher mid-conversation. per_call_cost_cap_cents (default 200) is the equivalent for voice. These are guardrails, not budgets β€” most conversations finish far under both caps.


  • Apps Overview β€” Full marketplace catalog
  • Field Service Suite β€” Where approved BookingRequests become WorkOrders
  • Bookings β€” Appointment-style booking surface
  • Mango GTM β€” The B2B sales-side counterpart (different audience entirely)

Inbound chat, SMS, voice, web voice β€” qualified, booked, dispatched. The AI receptionist for service businesses.

Ask AI Product Advisor

Hi! I'm the MangoApps Product Advisor. I can help you with:

  • Understanding our 40+ workplace apps
  • Finding the right solution for your needs
  • Answering questions about pricing and features
  • Pointing you to free tools you can try right now

What would you like to know?