Work / Voice & Phone / 02
AI Voice Agent System for a Training Academy
Medical aesthetics training · London
Delivered — figures client-reported; no workflow export was supplied
The problem
An agent that improvises a price, or tells an unqualified caller they are eligible, creates a compliance problem — not just a bad call.
The academy sells five training programmes, including Ofqual-regulated qualifications with fixed fees and strict entry requirements. Inbound calls went unanswered outside office hours, thousands of CRM records were never called at all, and follow-up depended on someone remembering to send the details later.
How it runs
-
Answer inbound
01 / 05 inbound · the CRM’s own voice AI
Inbound calls are answered by the CRM’s native voice AI, which has direct access to the contact records — it knows who is calling.
-
Dial by course
02 / 05 outbound · ElevenLabs · four agents
Outbound calls run on ElevenLabs, with one agent for each of four courses: the agent dialling for one course has no representation of the others.
-
Re-check eligibility
03 / 05 in code, not in the prompt
The orchestration layer re-checks the eligibility flag and overrides the agent unless it is explicitly true.
not explicitly true → no advanced booking link
-
Send details mid-call
04 / 05 while the call is live
Follow-up messages fire during the call, so the details arrive while the caller is still on the phone.
-
Write it back
05 / 05 post-call · the only thing that path does
When the call ends, its outcome is written back to the CRM, with no human transcription.
The guards, and what each one prevents
HoverTap a card to read what it prevents.
- Eligibility is decided in code
A model slip cannot send an advanced booking link to a beginner. For a regulated qualification that is the difference between a bad call and a compliance incident.
- One outbound agent per course
A single agent would have to decide which course a call is about, inside a language model. Four agents make mislabelling a course structurally impossible rather than merely unlikely.
- Details arrive during the call
Sending them afterwards means a queue, and a queue means a caller who was promised something and never received it.
- A live change must prove it changed nothing else
Every change to a live agent is backed up, written dry by default, then re-fetched and compared field by field. It has caught two silent regressions a status-200 check would have passed — one nulled the text-to-speech model across all 33 language presets.
Limits, stated plainly
- The figures are the client’s own. No workflow export was supplied, so nothing on this page was counted independently.
- Two vendor platforms mean two sets of changes that can break a live system. Each was chosen on its merits, and the diff before every deployment exists because vendors do change things silently.
- The eligibility rules are this academy’s entry requirements. Another academy’s rules are different rules, and re-scoping that check is real work, not configuration.
Built with
- ElevenLabs
- GoHighLevel
- n8n
- Twilio
Next system
Shopify Support Inbox, Handled End to End