Benjamin Nwandu.Let’s talk
Back to the project

Walkthrough / Customer support

ENTIN Bank AI Voice Support: the thinking.

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.

The starting point.

What made this worth building.

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.

The direction I chose.

The approach taken.

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.

How the pieces connect.

Each stage exists because the one before it cannot be trusted on its own.

  1. 01Caller
  2. 02ElevenLabs agent · 13 tools
  3. 03n8n live-call tools
  4. 04Identity & risk checks
  5. 05Bank of record (Sheets)
  6. 06Spoken reply · every step logged

The decisions behind it.

The constraints I set deliberately, and would defend.

  • 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.

What has to hold true.

How I would know it works — and how I would know it does not.

  • 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.

Where this stands today.

Stated plainly, with nothing implied.

This project is complete.

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.

ElevenLabs Agents · implementedn8n · implementedGoogle Sheets · implementedNode.js · implemented

Let’s build something useful

Good conversations.
Better systems.

Have a conversational AI challenge, an automation idea, or a role in mind?