Customer support
ENTIN Bank AI Voice Support
A voice agent for a fictional Nigerian bank that handles failed transfers, card disputes and fraud — with identity checks and risk rules enforced in the workflow, not the prompt.
01 / THE PROBLEM
Why this matters.
Bank support calls are the hardest case for a voice agent. The caller is often distressed, the request is frequently consequential, and the agent is one confident sentence away from disclosing an account to someone who has not proven they own it. Prompt instructions alone cannot be the control.
02 / THE DIRECTION
The solution.
A voice agent over a workflow layer that owns every rule. Identity is graded — anonymous callers get knowledge-base answers, a name and card last-4 can block a card, and full verification is required before any transaction detail is spoken. Requests are scored LOW, MEDIUM or HIGH risk, risk never decreases during a call, and HIGH always ends with a human. The agent never asks for a PIN, OTP, password, CVV or card number, and a guard node rejects the request outright if one appears.
My role.
Designed and built the agent, the five workflows, the synthetic 500-customer bank, and the test suite. Fully synthetic demo — no real bank, customer or payment data is involved.
03 / ARCHITECTURE
How the pieces connect.
System flow
- 01Caller
- 02ElevenLabs agent · 13 tools
- 03n8n live-call tools
- 04Identity & risk checks
- 05Bank of record (Sheets)
- 06Spoken reply · every step logged
04 / ENGINEERING DECISIONS
Designed with intent.
- Enforce identity levels and risk rules inside the workflow, so a prompt injection cannot talk its way past them.
- Reject any turn containing a PIN, OTP, CVV or password, open a security case, and never write the secret down.
- Let risk escalate during a call but never fall, so a call that turned serious cannot be quietly de-escalated.
- Quote regulator timelines (CBN) with their source rather than inventing a resolution date.
- Keep the entire dataset synthetic — fake account and phone ranges, invented banks and merchants, no customer SMS ever sent.
05 / EVALUATION APPROACH
What needs to hold true.
- 33 end-to-end scenarios run the exported workflow JSON against the 500-customer dataset, including the full call, secret rejection, and the lock after two failed verifications.
- Deliberately breaking a rule must fail the suite — letting unverified callers see transactions and disabling OTP detection were both caught.
- All five workflows pass n8n-mcp validation with no errors.
- Not yet verified: Google Sheets API latency during live calls, and voice quality in Yoruba, Hausa, Igbo and Pidgin.
Technology direction.
Challenges & tradeoffs
- Making the safety rules testable meant moving them out of the prompt and into workflow nodes that a test can actually assert on.
- Identity had to be graded rather than binary, so low-risk help stays possible for a caller who cannot complete full verification.
Results
- The agent resolves or correctly escalates the common requests, never asks for a secret, and every step of the call is written to the log — so the behaviour can be checked rather than trusted.
- 33 scenario tests passing against the exported workflows.
- Five workflows validated with no errors: live call tools, post-call, background bank activity, daily digest and demo reset.