Home Use Cases Work Insights About Contact
Back to Our Work

How an Enterprise Financial Institution Built an Inquiries Agent That Answers on Chat, Email and SMS

Operations1
Open the walkthrough

Six-Step AI Workflow with Human Oversight

Each step shows the workspace, what the AI completed, and what still needs human review.

Steps 5 and 6 need a person. Step 5 is waiting for approval right now. Click it to open the full walkthrough.

Estimates are directional and based on stated assumptions. All names, organizations, and identifying details have been anonymized in accordance with our confidentiality agreements.

The Transformation

How an Enterprise Financial Institution Built an Inquiries Agent That Answers on Chat, Email and SMS

Before
A person used to watch three inboxes and retype every message into the ticket system.
A person used to read every message and decide which desk it belonged to.
A person used to search the help centre by hand for every question.
A person used to write every reply and paste the policy in by hand.
After
every message tied to a customer before anything answers it
what is being asked, and whether the bot may answer it
the evidence behind the answer, found before a word is written
the reply, with a source behind every sentence
the short queue of conversations only a person can settle
Executive Summary

Answers a bank's customers on chat, email and SMS at any hour, and never sends a sentence it cannot point to a source for. Written for an org where the record is the point: every reply carries the article it was drafted from, every handoff carries the whole conversation, and the only thing left for a person is the short queue the rules genuinely cannot settle. Six stations, run as a loop: what station 6 learns changes what station 3 finds.

What Was Broken

A person used to watch three inboxes and retype every message into the ticket system
A person used to read every message and decide which desk it belonged to
A person used to search the help centre by hand for every question
The real cost
A person used to write every reply and paste the policy in by hand.

What We Built

Six stations and 12 subagents. Each subagent carries its own tasks and its own refusal.

A4
Channel Watch
Poll chat, email and SMS, and stamp each message with its channel and time
A3
Identity Match
Match the sender to the customer record by chat login, account email or phone on file
A3
Intent Classifier
Classify each inquiry: fee question, card issue, transfer, statement, account detail
A3
Topic Screen
Check every inquiry against the list of topics the bot is allowed to answer
A4
Knowledge Search
Search the article library and the resolved-ticket archive for each classified question
A3
Evidence Check
Check each retrieved article is the current version, not a superseded one
A1
Reply Drafting
Draft the reply from the retrieved passages and the account facts, and nothing else
A3
Reply Check
Check every claim in the draft against the passage it came from
A3
Handoff Routing
Route each handoff to the desk that settles that kind of trouble: fraud desk, complaints team, the duty supervisor
A2
Handoff Brief
Summarize the whole conversation in three lines a person can act on
A4
Resolution Tracking
Record how each ticket ended: settled by the bot, settled by a person, or abandoned
A2
Gap Learning
Group the month's handoffs by what the bot was actually missing

How It Runs

1

Inquiry Arrival

Nobody is asked anything here

Agents watch every channel a customer can write on, tie each message to the customer and the open thread, and keep out the messages fishing for account details. Nothing waits on a person here. A message only reaches somebody when a later station cannot settle it.

2

Inquiry Triage

Nobody is asked anything here

Agents work out the question under the wording, pull out the account, amount and date it concerns, and send anything the bot is not allowed to answer straight to a person. A person is not asked anything here. Fraud claims and complaints pass through on their way to station 5.

3

Answer Lookup

Nobody is asked anything here

Agents search the help-centre library, the archive of resolved tickets and the customer's own account record, and pass forward only evidence that is current and actually covers the question. A person sees only the questions the library came back empty on, and only at station 5.

4

Customer Reply

Nobody is asked anything here

Agents draft the reply from the retrieved evidence only, check every claim in it against a source, and send it in the shape the channel wants. A follow-up turn comes back through triage and lands here again. A person writes nothing here. A reply that promises anything the sources do not state is held, and goes to station 5.

5

Human Handoff

A person answers here

Agents assemble everything the bot could not settle, the fraud claims, the empty lookups, the held replies, the customers still unhappy after an answer, into briefs a person can act on without re-reading the thread. This is the station where a person works. Every other station exists to keep this queue short.

6

Ticket Closing

A person answers here

Agents record how every ticket ended, measure the month, and turn what the bot could not answer into drafted articles and proposed intents. None of it changes what the bot says until a person signs it. A person signs here. The bot's future answers change only on that signature, because somebody must be answerable for what a bank tells its customers.

Where a Person Decides

Step 5, Human Handoff. Read the brief and take the conversation over; the customer repeats nothing. Open the full thread only when the brief is not enough. an unsettled customer must reach you.
Step 6, Ticket Closing. Approve or reject the drafted article and the proposed intent. Sign the month, or name what stops you signing it. the bot changes only when signed.

Operating Model

This changes how work flows through the team.

Role
Responsibility
Human Handoff owner
Read the brief and take the conversation over; the customer repeats nothing. Open the full thread only when the brief is not enough. an unsettled customer must reach you.
Ticket Closing owner
Approve or reject the drafted article and the proposed intent. Sign the month, or name what stops you signing it. the bot changes only when signed.

What Transfers, What Must Be True

What transfers
A person is in the loop wherever a customer is unhappy or the bot's own words are about to change. Two of the six stations refuse to proceed on their own, Human Handoff and Ticket Closing, and those are the two a person carries. Everywhere else the agents run at volume and reach you only when they cannot settle something.
Human Handoff stops for a person, and an unsettled customer must reach you.
Ticket Closing stops for a person, and the bot changes only when signed.
Every subagent says what it will not do. 12 of them do.
What must be true in your environment
The agent can read the systems your records already live in. This one reads 20.
Somebody owns Human Handoff and has time for it.
Somebody owns Ticket Closing and has time for it.

Failure Modes

What breaks this pattern:

✗ Phishing enters the normal queue

A message that asks for card details gets handled like any other question. The system answers a criminal with the same care it gives a customer.

✗ The nearest article becomes the answer

When the library does not cover a question, the search returns the closest match it has. The customer receives a confident answer to a question they did not ask.

✗ The bot promises a refund

A drafted reply commits the company to a waiver, a rate, or a refund that nothing backs. The customer now holds that promise in writing.

✗ Abandoned conversations count as resolved

A customer who gave up waiting shows in the numbers as a success. The dashboard says the system works while that customer is calling the branch.

Directional Outcomes

What the agent counts, and the station that counts it.

These counts are the tallies from one monitored run of the agents. They are not monthly or annual totals.

Messages tied to a customer and a thread
Counted at Inquiry Arrival
15,240
Tied to the wrong account
Counted at Inquiry Arrival
0
Held for a person to check
Counted at Inquiry Arrival
84
Inquiries classified
Counted at Inquiry Triage
15,156
Restricted topics let through to the bot
Counted at Inquiry Triage
0
Sent straight to a person
Counted at Inquiry Triage
940
Lookups run
Counted at Answer Lookup
14,216
Superseded articles passed forward
Counted at Answer Lookup
0
Came back empty, sent to a person
Counted at Answer Lookup
410
Replies sent
Counted at Customer Reply
13,722
Unbacked promises sent
Counted at Customer Reply
0
Held for a person
Counted at Customer Reply
84
Our measurement policy: We do not publish precise ROI without baseline methodology. Every figure above carries its basis.

What Runs Where

Every step names the subagent that does the work, the record it writes, the thing that raises a question for a person, and what it is allowed to touch. This is drawn from the source, not from a diagram somebody kept in sync by hand.

1Inquiry Arrival
subagentintake-watch
writesqueue/inbound/<ticket-id>.json
raisesidentity-unverified
may touchqueue/**, customers/** read-only
2Inquiry Triage
subagenttriage-intent
writesqueue/triaged/<ticket-id>.json
raisesrestricted-topic
may touchqueue/**, policies/** read-only
3Answer Lookup
subagentretrieve-evidence
writesqueue/evidence/<ticket-id>.json
raisesnothing-found
may touchqueue/**, kb/** read-only
4Customer Reply
subagentdraft-reply
writesqueue/replies/<ticket-id>.json
raisesclaim-unbacked
may touchqueue/**, queue/evidence/** read-only
5Human Handoff
GATE
subagenthandoff-brief
writesqueue/handoffs/<ticket-id>.json
raisesawait-human-takeover
may touchqueue/handoffs/**, everything else read-only
6Ticket Closing
GATE
subagentclose-and-learn
writesreports/close-<period>.json, kb/drafts/<article-id>.md
raisessign-monthly-review
may touchreports/**, kb/**, queue/** read-only

Stack

Every system this agent reads or writes.

System
Read at
Stations
mail and SMS senders
Customer Reply
1 of 6
the SMS number
Inquiry Arrival
1 of 6
the article library
Ticket Closing
1 of 6
the complaints team
Human Handoff
1 of 6
the core banking record
Answer Lookup
1 of 6
the fraud desk
Human Handoff
1 of 6
the help-centre article library
Answer Lookup
1 of 6
the intent model
Inquiry Triage
1 of 6
the live chat widget
Inquiry Arrival
1 of 6
the metrics dashboard
Ticket Closing
1 of 6
the outbound chat
Customer Reply
1 of 6
the reply templates per channel
Customer Reply
1 of 6
the resolved-ticket archive
Answer Lookup
1 of 6
the restricted-topics policy list
Inquiry Triage
1 of 6
the satisfaction survey
Ticket Closing
1 of 6
the search index over all three
Answer Lookup
1 of 6
the staff directory
Human Handoff
1 of 6
the support mailbox
Inquiry Arrival
1 of 6
the support team's queue
Human Handoff
1 of 6
the ticketing system
Inquiry Arrival
4 of 6
Next Step

Want to see if this pattern fits your customer support bots?

No build commitment·Real samples, not a demo·Estimate in writing