New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksFlow Control
Block

Human in the Loop Block

Pause workflow execution for human review or approval

The Human in the Loop block pauses workflow execution and waits for a person to review, approve, reject, or provide input before the run continues. Reach for it whenever a workflow needs human judgment or sign-off at a critical step, with configurable timeouts and multiple approvers — a unique review link is generated and sent to each specified approver.

Overview

PropertyValue
Typehuman_in_the_loop
Categoryblocks
Color#F59E0B

When to Use

  • Require manual approval before publishing content or sending external communications
  • Gate high-risk actions (payments, deletions, deployments) behind human sign-off
  • Collect free-text input or corrections from a reviewer mid-workflow
  • Add an acknowledgement step a human must confirm before the workflow proceeds
  • Route a decision to specific approvers by email with a unique review link
  • Auto-resume or fail a stalled workflow after a configurable timeout

Configuration

Review Title

Required short title for the review request, shown to the approver (e.g. Approve content before publishing). Accepts {{blockName.field}} references from earlier blocks.

Instructions

Long-form instructions displayed to the human reviewer explaining what to evaluate or decide (e.g. Please review the content and approve or reject it.). Optional.

Approval Type

Dropdown selecting the interaction mode for the reviewer. Defaults to approve_reject.

OptionID
Approve / Rejectapprove_reject
Acknowledge Onlyacknowledge
Provide Inputinput

Timeout

Numeric value for how long to wait before the workflow auto-resumes. Set to 0 for no timeout. Works together with the Timeout Unit field.

Timeout Unit

Dropdown selecting the unit for the timeout value. Defaults to hours.

OptionID
Minutesminutes
Hourshours
Daysdays

On Timeout

Dropdown for what happens if no response arrives before the timeout expires. Defaults to reject.

OptionID
Auto-approveapprove
Auto-rejectreject
Fail workflowfail

Approvers

Comma-separated email addresses of people allowed to approve this step. Each address receives the unique review link. Optional — if omitted, any authenticated user with access can respond.

Inputs & Outputs

  • Inputs:

    • title (string) — Title of the human review request
    • message (string) — Instructions shown to the human reviewer
    • approvalType (string) — Type of human review: approve_reject, acknowledge, or input
    • timeout (number) — Timeout value (in timeoutUnit units); 0 means no timeout
    • timeoutUnit (string) — Unit for the timeout: minutes, hours, or days
    • timeoutAction (string) — Action on timeout: approve, reject, or fail
    • approvers (string) — Comma-separated email addresses of approvers
  • Outputs:

    • status (string) — Review outcome: approved, rejected, pending, or timeout
    • response (string) — Free-text response provided by the reviewer
    • approvedBy (string) — Email of the person who approved or rejected the request
    • contextId (string) — Unique ID for this human review request
    • resumedAt (string) — ISO timestamp when the workflow was resumed

Tools

This block uses no external tools. All pausing and resuming logic is handled internally by the Zelaxy execution engine; no third-party API calls are made.

YAML Example

human_in_the_loop_1:
  type: human_in_the_loop
  name: "Human in the Loop"
  inputs:
    title: "Approve content before publishing"
    message: "Please review the generated content and approve or reject it."
    approvalType: "approve_reject"
    timeout: 24
    timeoutUnit: "hours"
    timeoutAction: "reject"
    approvers: "alice@example.com, bob@example.com"
  connections:
    outgoing:
      - target: publish_block