Facilities Voice Agent with RAG Troubleshooting
Facilities staff at 400+ restaurant locations had to navigate a complex ticketing system to report equipment issues, leading to delays, incomplete information, and unnecessary service calls for problems that could be resolved on-site.
The Challenge
When a piece of equipment fails at a restaurant location (a fryer stops heating, a freezer starts temping, a glazer malfunctions), the store manager needs to act fast. But the process for getting help was friction-heavy: log into the facilities management platform, find the right equipment, categorize the issue, create a work order, and hope it gets routed to the right vendor.
Many managers would just call someone instead. The problem was that “someone” was a small facilities team that couldn’t scale to handle calls from hundreds of locations, especially during peak failure times.
The Approach
I built a voice agent using Vapi that store staff can call to report equipment issues, get walked through troubleshooting steps, and automatically create work orders when on-site resolution isn’t possible.
The voice agent handles the full call flow:
- Caller identification — looks up the caller against the employee directory to determine their role and location
- Equipment identification — the caller reads the tag number off the equipment label, or describes what they’re looking at; the agent matches it against the location’s asset inventory
- AI troubleshooting — before creating a work order, the agent consults a knowledge base of repair procedures and walks the caller through relevant steps
- Work order creation — if troubleshooting doesn’t resolve the issue, the agent creates a properly categorized work order in the facilities management platform with all the context from the call
- Post-call analytics — every call generates structured data (store, equipment, troubleshooting attempted, outcome) that feeds into an operational dashboard
The troubleshooting knowledge base is a RAG system built on repair videos and service manuals spanning two restaurant brands and roughly 150 unique procedures. The ingestion pipeline transcribes repair videos, extracts structured procedures using AI, and stores them as vector embeddings in a pgvector database. When a caller describes a symptom, the system finds the most relevant repair procedures using semantic similarity search, with confidence scoring to decide whether to present a procedure directly or ask the caller to confirm.
The architecture is three MCP servers working together:
- Facilities MCP — 23 tools covering the full work order lifecycle (create, assign, escalate, complete), equipment queries, and location lookups. Built on a custom Python SDK I wrote for the facilities management API.
- Troubleshooting MCP — vector search over repair procedures, with brand and equipment type filtering
- Employee/data MCP — caller lookup, store information, and configuration data
All three are independently deployed on Vercel and orchestrated by the voice agent’s LLM reasoning. Vapi handles transcription, text-to-speech, and phone connectivity, while the agent focuses purely on the conversation logic and tool usage.
The Results
The system is available to 400+ locations, with adoption growing steadily as staff build the habit of calling the agent instead of navigating the ticketing system manually.
About 10% of calls are resolved through troubleshooting alone. The caller follows the agent’s repair procedure and the issue is fixed without a vendor dispatch. At an estimated $500 per avoided service call, each deflection represents real cost savings. Even when a work order is needed, the call transcript provides the vendor with detailed context about what was already tried, reducing diagnostic time on-site.
The operational dashboard tracks every call: which locations are calling, what equipment is failing, which troubleshooting procedures are being used, and whether they’re resolving issues. This gives the facilities team visibility into equipment reliability patterns they didn’t have before.
Services: AI Agent Development · MCP Server & Integration Development