◆ Always-on Router
Meets every inbound contact, infers what the customer needs (not what they first said), resolves the routine on the spot, and hands the rest to the right specialist agent over A2A with the gathered context attached, so the next agent picks up mid-conversation.
Memory
Working The live conversation + the customer's account snapshot.
Episodic Recent contacts and open issues for this customer.
Semantic Intent taxonomy, routing rules, the bank's product + policy knowledge base.
Procedural Resolution playbooks per intent refined from outcomes.
Store Vector store (knowledge base) + interaction history
Orchestration
router-fanout MCPA2A
Harness · Managed Agents … live session per contact; context editing trims resolved sub-tasks on long multi-issue calls.
Tools
{ } Telephony / chat platform API ⌕ Knowledge base (RAG) Retrieval { } Account snapshot (core banking) API ⇄ Specialist-agent routing A2A ⇄ Senior empathy-agent escalation A2A
Evals & guardrails
- Intent-classification precision against a labelled gold set; mis-routes tracked.
- Containment vs. CSAT balance … resolving the wrong thing fast is a tracked harm.
- Sentiment / distress detection forces a warm handoff to a senior empathy agent.
- Full OpenTelemetry trace; sampled agent-as-judge review of resolutions.
Offline reflection
Replays escalated and re-contact cases to learn which intents it mis-resolved, sharpening routing and resolution playbooks (procedural memory).
Frontier edge
- ▲Voice-native / multimodal: holds the call as a natural conversation, reading the screenshot the customer pastes and the chart on their statement natively.
- ▲Agent-mesh negotiation: hands the live contact to a specialist agent over A2A with full gathered context, so the next agent picks up mid-conversation.
- ▲Self-improving fleet: resolution playbooks sharpened from one agent's escalated cases are shared across the triage population between runs, lifting first-contact resolution fleet-wide.
A sample run
Trigger Customer chats in: 'my card got declined and I think I was charged twice'.
- 1Disentangle two intents: a decline question and a possible double-charge.
- 2Pull the account; confirm the decline reason and the duplicate authorisation.
- 3Resolve the decline inline; open a dispute and route to the dispute agent (A2A).
Output Decline explained and resolved in chat; a dispute opened and handed off to the dispute agent with the full gathered context attached.
In numbers
520,000
Contacts handled / day
73%
First-contact resolution
2.4 min
Median handle time
Handoffs
Fed by ← Financial Wellness Agent
Hands to → Account Servicing Agent→ Card Servicing Agent→ Rewards & Offers Agent→ Complaint Handling Agent→ Retention & Save Agent
Across ⇢ Financial Crime → Fraud / Disputes for dispute intake