
AI voice agents that take incident calls for a US security company
When a security officer calls in an incident, the call has to end with a report the dispatch team can act on. Long calls were losing details and some reports arrived empty. We rebuilt the phone line around two AI agents, and the company came back for more.
All case studies- Client
- a US security services company with officers across time zones
- Service
- AI voice agents, n8n automation, ERP integration
- Built on
- Retell, n8n, keypad (DTMF) input, the company's ERP directory
- Status
- live on the company's incident line
The situation
Officers report incidents by phone, often straight from the site. Every call has to end with a complete report: who, where, what, how serious.
The first agent made every caller walk the same long path, with a summary and a read-back at the end. Sites and officers were described out loud, and each one had to match a record in the company directory.
On long calls, fields went missing. Some reports reached dispatch empty. For a security company, an empty report is not a small bug.

What we built
Two agents on one phone line.
- 01A first-line dispatcher
It greets the caller and asks one question. Incidents go to the incident agent, anything else goes to a person.
- 02An incident agent
It collects who, where and what, confirms the details and files the report.
Callers can speak or press a key: 1 for the incident agent, 2 for a person. A key pressed mid-sentence stops the agent and routes the call. A wrong key gets a short reply, not a dead end.


Spoken words, exact records
People say site names and addresses the way they speak, not the way the database stores them. Speech recognition hears "Cremieria" when the officer said "Krameria". One retail chain alone has 84 sites with the same name.
During the call the agent looks up the site by name, address or job number, and the officer by name or employee ID. It tries the exact key first, then fuzzy and phonetic matching, across 3,496 sites and 6,627 employees.
A confident match is read back for the caller to confirm. Several candidates are read as a short list. No match means the agent asks again.
Later we added recognition by phone number, so a known caller and site are filled in before the first question.

What broke, and how we fixed it
The report function was not strictly validated, so long calls lost fields. We enforced a strict schema at every level and added a server-side fallback.
The model sometimes skipped the directory check. We made those calls mandatory and first in line.
One prompt grew until the model lost steps. We rebuilt the agent as a flow, which is more stable at this size.
Duplicate job numbers caused phantom changes and one-line addresses broke the parser. We re-keyed the sync, rewrote the parser and added guards against empty payloads.
The line never went down
We built the new version on a parallel test number and kept the previous agent as a rollback. New reports matched the old format one to one, and we tested on live calls before the switch.
The directory syncs from the company's ERP through n8n. Only adds, updates and deletes are applied, so the table never empties.
How a call ends
A structured report, an email to dispatch, a record in the incident system and a text to the caller with the incident number.


What happened next
The client came back for the dispatcher, the full rebuild and then an AI recruiting agent for their hiring.
AI recruiting agent for the same company“production-ready n8n automations, Retell AI voice agents, custom API integrations”
Your phone line takes the same kind of call all day?
We start with a fixed-price pilot from $1,000: one call type, tested on your real calls.
Book a call about your processYour phone line takes the same kind of call all day?
Tell us in two lines. We'll reply with how an agent would take it over and what the first step would cost.
- A fixed-price first step, from $1,000
- Half at the start, half after we check it on your data
- NDA on request
- [email protected]Vitaliy, CEO
- Vesivärava tn 50-201, 10152 Tallinn, EstoniaHead and development office