Human Review

Human Review is a workflow step that pauses a run and places it in a review queue in the Extend dashboard. An operator inspects the extracted, classified, or split output beside the source document, corrects anything that is wrong, and approves or rejects the run. Only after approval does the workflow continue to downstream steps such as a Webhook Response.

Use it as the human-in-the-loop safety net for accuracy-critical pipelines: send the runs that need a person to a person, and let everything else flow straight through.

Human Review page in the Extend dashboard showing the source invoice beside the extracted fields, each with a confidence score, an edit control, and an approve button

What the review step does

  • Pauses the run. The workflow run status becomes NEEDS_REVIEW and the run appears in the workflow’s review queue.
  • Shows operators the evidence. The review page renders the document on the left and the step outputs on the right, with citations that highlight where each value came from, confidence scores, and any issues raised by the Review Agent.
  • Lets operators fix, approve, reject, or re-classify. Corrections are saved on the run, rejected runs never reach downstream systems, and re-classifying restarts the run from the classification step. See Reviewing a Workflow Run for the operator walkthrough.
  • Records what changed. Reviewed step outputs carry reviewed and edited flags plus initialOutput and reviewedOutput, so your systems can tell machine output from operator-corrected output. Operator explanations feed evaluation and tuning.

Add a Human Review step

In Extend Studio, drag a Human Review step onto the workflow canvas and connect it between the steps that should be reviewed and the steps that should run after approval.

Workflow canvas in Extend Studio with a Human Review step placed between the extraction steps and the webhook response step

In a workflow version definition, add a step of type HUMAN_REVIEW:

{
"steps": [
{ "name": "trigger", "type": "TRIGGER", "next": [{ "step": "parse" }] },
{ "name": "parse", "type": "PARSE", "next": [{ "step": "extract" }] },
{
"name": "extract",
"type": "EXTRACT",
"config": { "extractor": { "id": "ex_abc123", "version": "latest" } },
"next": [{ "step": "review" }]
},
{ "name": "review", "type": "HUMAN_REVIEW", "next": [{ "step": "webhook" }] },
{ "name": "webhook", "type": "WEBHOOK_RESPONSE" }
]
}

The step has no configuration of its own. What gets reviewed is determined by the steps that feed into it, and who gets to review is governed by user roles and permissions in your workspace.

Route only the runs that need a person

Sending every document to review works, but most teams review a fraction of runs. Common routing patterns:

PatternHow
Confidence-based routingAdd a Validation step with rules that read step outputs and their metadata (classification confidence, extraction field confidence). Connect If All Valid to the Webhook Response and If Any Invalid to Human Review.
Business-rule routingWrite Validation rules over extracted values (totals reconcile, dates in range, required fields present) or against your own systems via an External Data Validation step. Failures go to review.
Review Agent flagsEnable the Review Agent on the extractor. It flags likely errors and produces an intelligent confidence score that reviewers see on the review page, so they can focus on the fields that need attention.
Document-type routingAfter a Classify step, route only sensitive document types through review and let the rest complete automatically.

Consume the outcome from code

Review happens in the dashboard; there is no API to approve or reject on an operator’s behalf. Your integration reacts to the run’s state:

  1. Detect that a run is waiting by polling for status NEEDS_REVIEW or by subscribing to the workflow_run.needs_review webhook event.
  2. When the operator approves, the run completes and workflow_run.completed fires with the corrected output. Rejected runs emit workflow_run.rejected instead.
  3. Read the final result with Get Workflow Run. Step outputs that were reviewed include reviewed: true, edited, initialOutput, and reviewedOutput.

Next steps