Six-Step AI Workflow with Human Oversight
Each step shows the workspace, what the AI completed, and what still needs human review.
Steps 4, 5 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 Accounting Firm Built Auditable Document Intake with Human Review
Turns whatever arrives as a PDF into clean data, and never lets a field it could not evidence pass as one it could. Written for an org where the record is the point: every extracted value carries the page it came from, every rejection carries a reason, and the only thing left for a person is the handful of documents the rules genuinely cannot settle. Six stations, run as a loop: what station 6 learns changes what station 2 extracts.
What Was Broken
What We Built
Six stations and 15 subagents. Each subagent carries its own tasks and its own refusal.
How It Runs
Document Sorting
Nobody is asked anything hereAgents watch every channel documents arrive on, deduplicate them, and label each one before anything tries to read it. Nothing waits on a person here. A document only reaches somebody when a later station cannot settle it.
Data Extraction
Nobody is asked anything hereAgents read every field off the page, attach the coordinates it came from, and score how sure they are of each one. A person sees only the fields that came back short, and only after station 3 has tried to settle them.
Record Matching
Nobody is asked anything hereAgents check every extracted document against the vendor master, the purchase order, the receipt and the policy, and show the evidence behind each pass and each failure. A person is not involved unless a check fails in a way the rules do not cover.
Case Escalation
A person answers hereAgents assemble each failure into a card that already carries the document, the failing check and the two or three answers a person might give. This is the station where a human works. Everything else exists to keep this queue short.
Record Posting
A person answers hereAgents write the settled document into the system of record with its full provenance, and guard the payment run against paying the same thing twice. A person signs nothing here. The signature already happened at station 4, or the checks passed and there was nothing to sign.
Period Closing
A person answers hereAgents reconcile the period, turn every exception that happened into a rule or a template change, and write the audit trail nobody has to assemble later. A person signs the period close. That is the one signature in the loop that has to stay human, because somebody must be answerable for the numbers.
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 a field is missing from the page, the model grabs the closest number instead. That wrong number posts to the ledger and looks exactly like a right one.
Two vendors can carry the same name. A match that ignores the tax id sends the payment to the wrong one, and the record says it went to the right one.
A doubtful payment goes out anyway. Getting the money back costs more than holding it would have, and sometimes it never comes back.
A period closes over a difference nobody explained. The gap surfaces months later in an audit, when nobody remembers the period.
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/<doc-id>.jsonreject-unreadablequeue/**, library/** read-onlyextract-fieldsqueue/extracted/<doc-id>.jsonfield-below-confidencequeue/**, templates/** read-onlyvalidate-documentqueue/validated/<doc-id>.jsonmatch-failedqueue/**, master/** read-onlyexception-briefqueue/exceptions/<doc-id>.jsonawait-human-decisionqueue/exceptions/**, everything else read-onlypost-recordledger/posted/<doc-id>.jsonduplicate-suspectedledger/**, queue/validated/** read-onlyclose-and-learntemplates/<supplier>.json, reports/close-<period>.jsonsign-period-closetemplates/**, reports/**, ledger/** read-onlyStack
Every system this agent reads or writes.