Documentation

Human approval

Human approval puts you in control of AI-generated drafts. When a workflow reaches an approval step, it pauses until someone reviews the output and chooses to continue or stop. Nothing is finalised or sent automatically.

Use this pattern whenever a mistake would be hard to undo — publishing a document, emailing a client, or updating an external system.

What happens when a workflow pauses

At an approval step:

  1. The workflow execution moves to Paused.
  2. The approval step shows Awaiting approval.
  3. The reviewer sees the message and instructions you configured for that step.
  4. The run stays paused until someone approves or rejects from the execution detail page.

After a decision:

  • Approve — the step completes successfully and the workflow resumes with the next step.
  • Reject — the workflow is cancelled. Any steps that had not run yet are skipped. The rejection reason (if provided) is recorded on the execution.

When to use human approval

Good places for an approval gate:

  • Before a draft proposal or SOW is saved as a final document
  • Before an MCP tool sends an email or posts to an external system
  • Before publishing content that clients or auditors might see
  • After an agent step produces a summary or recommendation you want a teammate to verify

A common workflow shape is: gathershape (agent steps) → confirm (human approval) → record (save or send). See Workflow authoring for the full pattern.

Adding an approval step

You can add human approval in two ways:

  1. From a template — in the workflow editor, choose From Template and pick Human Approval Gate (category: Approval). Fill in the message and optional instructions.
  2. Manually — add a step and set its kind to Human approval.

Human approval steps do not support custom inputs or outputs in the editor. The platform provides a fixed set of outputs (see below) so later steps and conditions can read the reviewer’s decision.

Configuring the step

Each approval step has two text fields:

FieldPurpose
MessageShort prompt shown to the reviewer when the workflow pauses — for example, “Review the draft proposal before it is saved.”
InstructionsOptional longer guidance — for example, check fee tables, confirm client name, or verify citations.

Write these for the person who will open the execution, not for the AI. Be specific about what they should check before approving.

Reviewing a paused run

  1. Open Workflows and find the run (status Paused, or a step in Awaiting approval).
  2. Open the execution detail page for that run.
  3. Expand the approval step. You will see the message and instructions.
  4. Choose one:
    • Approve — optional comment for the audit trail; the workflow continues.
    • Reject — optional reason; the workflow is cancelled and remaining steps do not run.

Anyone with access to the workflow execution can approve or reject while the step is awaiting approval.

Outputs for later steps

The approval step exposes outputs that downstream steps can reference in formulas (for example in a Condition step):

OutputWhen it is setMeaning
messageWhile awaiting approvalEcho of the message shown to the reviewer
instructionsWhile awaiting approvalEcho of the instructions shown to the reviewer
approvedAfter decisiontrue when the reviewer approved
rejectedAfter decisiontrue when the reviewer rejected
decisionAfter decision"approved" or "rejected"
commentAfter approveReviewer’s optional comment (omitted if empty)
reasonAfter rejectReviewer’s optional rejection reason (omitted if empty)
decided_atAfter decisionTimestamp when the decision was recorded

Example — only run a publish step if the gate was approved:

{{ steps.publish_gate.outputs.approved }}

Use that in a condition step, or reference {{ steps.publish_gate.outputs.decision }} when you need the string value.

While the step is still awaiting approval, only message and instructions are populated. Decision fields appear after the reviewer acts.

Worked example: draft → review → save

#Step nameKindPurpose
1draftAgentProduce a client-ready draft from search results
2review_gateHuman approvalPause for a teammate to read the draft
3save_docTool (document)Save the draft only after approval

Place the approval step after the agent produces the draft and before any irreversible tool step. If the reviewer rejects, the save step never runs.

Related guides