Six-Step AI Workflow with Human Oversight
Each step shows the workspace, what the AI completed, and what still needs human review.
Steps 4 and 6 need a person. Step 4 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 Professional Services Firm Built a Support Agent That Cites the Article Behind Every Reply
Answers every client inquiry from the firm's own record, on the channel it arrived on, at any hour, and never sends an answer it cannot show a source for. Written for an org where the conversation is the record: every reply carries the article it came from, every handoff carries the full transcript, and the only conversations reaching a person are the ones the knowledge honestly cannot settle. Six stations, run as a loop: what station 6 learns is what station 3 answers with next week.
What Was Broken
What We Built
Six stations and 13 subagents. Each subagent carries its own tasks and its own refusal.
How It Runs
Inquiry Intake
Nobody is asked anything hereAgents watch every channel a client can write on, tie each message to its account and its open ticket, and merge the double sends before anything answers. Nothing waits on a person here. A message only reaches somebody when a later station cannot settle it.
Question Reading
Nobody is asked anything hereAgents read each inquiry for what is asked rather than what is written, attach the account's history, and put a clock on it from the contract. A misread question is answered wrong at every station after this one, so what the agents cannot read, they hold and ask about rather than guess.
Answer Delivery
Nobody is asked anything hereAgents search the knowledge base and the settled tickets, compose the reply with the source cited beside every step, and hold the conversation turn by turn until it is settled or stuck. No person signs a reply here. That is the point of the station: the answer goes out at 9pm on a Sunday, and what has no source does not go out at all.
Human Handoff
A person answers hereAgents hand each stuck conversation to the named person who owns it, carrying the full transcript, what the bot tried, and a draft reply marked as a draft. This is the station where a person works. Every other station exists to keep this queue short.
Ticket Closure
Nobody is asked anything hereAgents close each ticket in the customer's own words or after a quiet window marked as such, write the record with everything that settled it, and ask for a rating once. A person signs nothing here. The answer already went out at station 3, or a person already sent it at station 4.
Weekly Learning
A person answers hereAgents count the week off the ticket record, turn the recurring handoffs and declines into drafted articles and routing changes, and put the whole set in front of a person. A person signs the changes. That is the signature that has to stay human, because an approved article is an answer the bot will give every client from now on.
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:
When no passage supports an answer, the agent writes one anyway. The customer gets a confident reply that nobody in the company ever said, and the first person to find out is the customer.
Two people share a name, and the agent merges their conversations. One customer now reads the other customer's order details, and you learn about it from a complaint, not a log.
The customer's last message is a question, and the agent closes the ticket anyway. Your resolution numbers go up while the customer sits with no answer and stops writing back.
The agent hands a stuck conversation to a person but drops the history. The customer repeats everything from the start, which is the one experience a handoff exists to prevent.
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.
channel-intakequeue/inbound/<ticket-id>.jsonunmatched-senderqueue/**, accounts/** read-onlyread-intentqueue/understood/<ticket-id>.jsonintent-below-thresholdqueue/**, playbooks/** read-onlyanswer-inquiryconversations/<ticket-id>/turn-<n>.jsonno-grounded-answerconversations/**, kb/** read-onlytakeover-briefescalations/<ticket-id>.jsonawait-human-takeoverescalations/**, everything else read-onlyclose-tickettickets/closed/<ticket-id>.jsonclose-with-open-questiontickets/**, conversations/** read-onlyweekly-learnkb/proposals/<week>.json, reports/week-<n>.jsonsign-kb-changekb/**, reports/**, tickets/** read-onlyStack
Every system this agent reads or writes.