Home Use Cases Work Insights About Contact
Back to Our Work

How a Growth-Stage Accounting Firm Built a Support Agent That Replies from Guides and Past Answers

Operations1
Open the walkthrough

Five-Step AI Workflow with Human Oversight

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

Steps 3 and 5 need a person. Step 3 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 a Growth-Stage Accounting Firm Built a Support Agent That Replies from Guides and Past Answers

Before
A person used to read and sort the support inbox every morning.
A person used to write every reply by hand, and the answer depended on who was on shift.
A person used to close tickets by feel, and threads went quiet without an ending.
After
every message matched to a client and typed before anything answers it
every reply built from a source it can point to
the short queue of conversations only a person can settle
every conversation followed to a real ending and filed where the firm can find it
the week counted, and what the unanswered questions teach the knowledge base
Executive Summary

Answers a client's question in the time it takes to read it, from the firm's own guides and past answers, and never sends a line it cannot point to a source for. Written for a firm where the questions repeat but the answers must not vary: every reply carries where it came from, every conversation ends on a real ending, and the only things reaching the team are the questions that genuinely need a person. Five stations, run as a loop: what the weekly review approves is what next week's answers are built from.

What Was Broken

A person used to read and sort the support inbox every morning
A person used to write every reply by hand, and the answer depended on who was on shift
The real cost
A person used to close tickets by feel, and threads went quiet without an ending.

What We Built

Five stations and 11 subagents. Each subagent carries its own tasks and its own refusal.

A4
Channel Watch
Poll the portal chat, the mailbox and the SMS line, and stamp each message with where it came from
A3
Inquiry Typing
Classify each conversation as a document request, a scheduling change, portal help, a billing question or a request for advice
A4
Source Search
Search the guides, the engagement letter templates and past answered tickets for the passages that answer this type of question
A2
Answer Writer
Draft the reply from the passages found, in the firm's tone, carrying the earlier turns of the conversation
A3
Confidence Check
Trace each line of the draft back to the passage behind it
A3
Escalation Routing
Route each held conversation to the team member who owns that client or that kind of question
A2
Escalation Brief
Summarize each conversation in one line a reader can act on
A4
Follow-Up Watch
Watch each answered conversation for the client's next message
A4
Ticket Records
Tag each closed ticket with its type, its channel, and whether the bot or a person settled it
A4
Gap Grouping
Group the week's 29 handoffs by what actually beat the bot: no source, sources disagree, advice the bot must not give
A1
KB Drafting
Draft the article that would have answered the week's most-repeated unanswered question

How It Runs

1

Inquiry Intake

Nobody is asked anything here

Agents watch every channel a client can write on, match each message to the client and to any open conversation, and give it a type and an urgency before anything answers it. Nothing waits on a person here. A message only reaches somebody when a later station cannot settle it.

2

Answer Drafting

Nobody is asked anything here

Agents search the firm's guides and past answered tickets for the passage that answers this question, draft the reply, and release it only when every line traces back to a source. A person sees an answer only when its sources come up short, and then at station 3, not here.

3

Team Handoff

A person answers here

Agents put each held conversation with the team member who owns that client, with the whole story attached: every turn, the sources tried, the reason the bot stopped, and a drafted reply to start from. This is the station where a person works. Everything else exists to keep this queue short.

4

Conversation Closing

Nobody is asked anything here

Agents follow each answered conversation to a real ending, close it on a confirmation or a settled silence, and file the whole exchange to the client's record where the next person will find it. A person signs nothing here. The answer already went out, from the bot or from the team, and what cannot be closed cleanly goes back through station 3.

5

Weekly Review

A person answers here

Agents count the week off the tickets themselves, group everything that beat the bot by what actually caused it, and draft the knowledge-base changes that would have settled the repeats. A person signs what publishes. A person works here, because next week's answers are built from whatever this station approves.

Where a Person Decides

Step 3, Team Handoff. Read the one-line brief, then send or rewrite the drafted reply. Open the full thread only when the line is not enough. these are the ones the sources could not settle.
Step 5, Weekly Review. Accept or reject the two drafted articles and the new intake label. Give the held question to the partner who can settle it. the bot answers from what you approve.

Operating Model

This changes how work flows through the team.

Role
Responsibility
Team Handoff owner
Read the one-line brief, then send or rewrite the drafted reply. Open the full thread only when the line is not enough. these are the ones the sources could not settle.
Weekly Review owner
Accept or reject the two drafted articles and the new intake label. Give the held question to the partner who can settle it. the bot answers from what you approve.

What Transfers, What Must Be True

What transfers
a person is in the loop wherever a client hears something the sources could not settle, or the knowledge the bot answers from changes. Two of the five stations refuse to proceed on their own: **Team Handoff** (station 3), where every conversation waits for a person's reply, and **Weekly Review** (station 5), where nothing publishes to the knowledge base without a signature.
Team Handoff stops for a person, and these are the ones the sources could not settle.
Weekly Review stops for a person, and the bot answers from what you approve.
Every subagent says what it will not do. 11 of them do.
What must be true in your environment
The agent can read the systems your records already live in. This one reads 17.
Somebody owns Team Handoff and has time for it.
Somebody owns Weekly Review and has time for it.

Failure Modes

What breaks this pattern:

✗ Message filed to the wrong client

A message that matches no client on file gets attached to the closest name instead of held. One client's question lands in another client's history, and the answer that comes back is built on the wrong account.

✗ Untraceable answers reach clients

An answer nobody can trace to a source goes out anyway. The client acts on it, and when it turns out wrong, nobody can say where it came from or which other answers share the flaw.

✗ Client questions closed as silence

A conversation goes quiet with the client's question as the last message, and the system closes it as done. The client asked, heard nothing, and the record says the matter was settled.

✗ Judgment calls hardened into lookups

A question whose right answer is a partner's judgment gets written into the knowledge base as a plain fact. Next week the system answers it automatically, and the partner never sees the call being made in their name.

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.

Conversations matched and typed
Counted at Inquiry Intake
187
Filed under the wrong client
Counted at Inquiry Intake
0
Held for a person to place
Counted at Inquiry Intake
1
Replies released
Counted at Answer Drafting
158
Released without a source
Counted at Answer Drafting
0
Handed to a person instead
Counted at Answer Drafting
15
Conversations closed
Counted at Conversation Closing
164
Closed on an unanswered question
Counted at Conversation Closing
0
Handed to a person to settle
Counted at Conversation Closing
2
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 Intake
subagentinbox-watch
writesqueue/open/<ticket-id>.json
raiseshold-unknown-sender
may touchqueue/**, clients/** read-only
2Answer Drafting
subagentanswer-build
writesqueue/answers/<ticket-id>.json
raisesno-source-found
may touchqueue/**, kb/** read-only, clients/** read-only
3Team Handoff
GATE
subagentescalation-brief
writesqueue/handoff/<ticket-id>.json
raisesawait-human-reply
may touchqueue/handoff/**, everything else read-only
4Conversation Closing
subagentclose-ticket
writesrecords/closed/<ticket-id>.json
raisesclose-blocked
may touchrecords/**, queue/** read-only
5Weekly Review
GATE
subagentreview-and-learn
writeskb/drafts/<article-id>.md, reports/week-<n>.json
raisesapprove-kb-change
may touchkb/**, records/** read-only

Stack

Every system this agent reads or writes.

System
Read at
Stations
the SMS line
Inquiry Intake
1 of 5
the client files in the practice management system
Conversation Closing
1 of 5
the client list in the practice management system
Inquiry Intake
1 of 5
the client owner list in the practice system
Team Handoff
1 of 5
the client portal
Answer Drafting
1 of 5
the client portal chat
Inquiry Intake
1 of 5
the closed-ticket archive
Answer Drafting
1 of 5
the escalation queue
Team Handoff
1 of 5
the firm's knowledge base
Answer Drafting
1 of 5
the knowledge base
Weekly Review
1 of 5
the one-question check that asks whether the answer settled it
Conversation Closing
1 of 5
the practice management system
Answer Drafting
1 of 5
the shared support mailbox
Inquiry Intake
1 of 5
the support dashboard
Weekly Review
1 of 5
the team's Teams channel
Team Handoff
1 of 5
the ticket record
Conversation Closing
1 of 5
the weekly review notes
Weekly Review
1 of 5
Next Step

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

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