Seven-Step AI Workflow with Human Oversight
Each step shows the workspace, what the AI completed, and what still needs human review.
Steps 3, 4 and 7 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.
How an Enterprise Data Management Company Built Record Matching with Human Approval Before Two Records Become One
Everything the business holds on one company, matched into one entity and kept true across the systems that disagree about it. The agents pull every overnight change, score every match, land the confirmed ones, answer questions out of the mastered record and send the reports nobody gathers by hand. A person decides what merges, signs the changes the approval rules name, and owns the thresholds. Seven stations, run as a loop: the rule a steward's overrides earn on Friday is the rule the scorer scores with on Monday.
What Was Broken
What We Built
Seven stations and 15 subagents. Each subagent carries its own tasks and its own refusal.
How It Runs
Record Intake
Nobody is asked anything hereAgents pull every changed record off the six source systems, put each one into the common shape with its source kept, and hold any feed or record that does not check out. Nothing waits on a person here. A quarantined record is never guessed into shape and never loaded broken.
Match Scoring
Nobody is asked anything hereAgents search the entity store for every record that could be the same company, score each candidate pair on the fields that agree and the fields that fight, and split the day into merge, review and new. Nothing waits on a person here. A pair in the grey band goes to the steward's queue, never to an auto-merge.
Merge Review
A person answers hereAgents draft a one-screen brief for each pair in the grey band, map where every conflicting value came from, and recommend which value survives on each field. A person makes the call. This is where a person works. Everything else exists so that 22 pairs, not 3,196 records, reach this screen.
Change Landing
A person answers hereAgents push every confirmed change back to the systems that carry that entity, run the workflows configured for each change kind, and hold any change that hits an approval rule until its owner signs. A person signs here. A change a team put an approval rule on does not land without the person that rule names.
Answer Writing
Nobody is asked anything hereAgents answer a question out of the entity store and the records behind it, quote the field and the system every claim came from, and say not found where no system answers. Nothing waits on a person here. An answer the record cannot support is refused, not softened.
Report Building
Nobody is asked anything hereAgents assemble each scheduled report from the live entity store at send time, flag any figure that moved further than its own history, and hold a report whose source feed never refreshed. Nothing waits on a person here. A flagged number ships flagged, and a stale one does not ship at all.
Match Tuning
A person answers hereAgents check every steward decision against what the scorer recommended, group the overrides that repeat into the pattern behind them, and propose the rule or threshold change that would have scored them right. A person accepts or rejects each one. A person decides here. A threshold decides what merges without a person, so moving it quietly would change who decides.
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:
The scorer sees a week of clean auto-merges and starts merging the borderline pairs too. Two different companies become one record, and every downstream system copies the mistake before a person sees it.
The queue behind an approval step grows, so the runner pushes changes through without the sign-off. The one change that approval rule existed to catch lands with all the routine ones.
The writer fills the gap between what the record holds and what the question asked. The reader gets a confident answer no system can back, and builds their own work on it.
The check drops or averages the strange number so the report reads clean. The one figure that pointed at a real problem never reaches the person the report was built for.
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.
feed-intakerecords/incoming/<record-id>.jsonhold-stale-feedrecords/incoming/**, records/quarantine/**, the source systems read-onlymatch-scoringmatches/scored/<record-id>.jsongrey-band-matchmatches/**, records/incoming/** read-onlymerge-briefingmatches/review/<pair-id>.mdawait-steward-decisionmatches/review/**, everything else read-onlychange-rolloutchanges/outbound/<change-id>.jsonapproval-rule-hitchanges/**, the target systems through their connectorsask-the-recordanswers/<question-id>.jsonanswer-not-in-the-recordanswers/**, entities/** read-onlyreport-assemblyreports/<report-id>.mdstale-source-holdreports/**, entities/** read-onlymatch-tuningrules/proposed/<rule-id>.jsonaccept-rule-changerules/proposed/**, the decision history read-onlyStack
Every system this agent reads or writes.