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.
How an Enterprise Financial Institution Built an Inquiries Agent That Answers on Chat, Email and SMS
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
What We Built
Six stations and 12 subagents. Each subagent carries its own tasks and its own refusal.
How It Runs
Inquiry Arrival
Nobody is asked anything hereAgents 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.
Inquiry Triage
Nobody is asked anything hereAgents 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.
Answer Lookup
Nobody is asked anything hereAgents 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.
Customer Reply
Nobody is asked anything hereAgents 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.
Human Handoff
A person answers hereAgents 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.
Ticket Closing
A person answers hereAgents 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
Operating Model
This changes how work flows through the team.
What Transfers, What Must Be True
Failure Modes
What breaks this pattern:
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.
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.
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.
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.
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.
intake-watchqueue/inbound/<ticket-id>.jsonidentity-unverifiedqueue/**, customers/** read-onlytriage-intentqueue/triaged/<ticket-id>.jsonrestricted-topicqueue/**, policies/** read-onlyretrieve-evidencequeue/evidence/<ticket-id>.jsonnothing-foundqueue/**, kb/** read-onlydraft-replyqueue/replies/<ticket-id>.jsonclaim-unbackedqueue/**, queue/evidence/** read-onlyhandoff-briefqueue/handoffs/<ticket-id>.jsonawait-human-takeoverqueue/handoffs/**, everything else read-onlyclose-and-learnreports/close-<period>.json, kb/drafts/<article-id>.mdsign-monthly-reviewreports/**, kb/**, queue/** read-onlyStack
Every system this agent reads or writes.