Human in the Loop

Pause workflow execution and wait for human approval before continuing

The Human in the Loop block pauses a running workflow and waits for a person to review, provide input, or approve before execution continues. It is the primary mechanism for adding human oversight to automated pipelines.

Overview

Pause execution: The workflow halts at this block and enters a waiting state

Present context: Structured display data is shown to the reviewer so they can make an informed decision

Notify approvers: Optionally send a Slack message, email, or other notification with the review URL

Collect input and resume: The approver fills in the resume form and the workflow continues with their input available downstream

How It Works

When the executor reaches a Human in the Loop block it:

  1. Renders display data -- The builderData fields are evaluated (including any <variable.name> references) and presented as a structured summary for the reviewer.
  2. Generates a resume URL -- A unique URL and API endpoint are created. The URL opens a review UI; the endpoint accepts a programmatic POST to resume.
  3. Sends notifications -- If a notification tool (Slack, Email, etc.) is configured, the resume URL is dispatched automatically.
  4. Waits -- Execution is suspended. No downstream blocks run until the reviewer acts.
  5. Resumes -- Once the reviewer submits the resume form, the workflow picks up where it left off. Any fields the reviewer filled in are available as block outputs.

The block outputs two values after it pauses: url (the review UI link) and resumeEndpoint (an API URL you can call with curl or any HTTP client to resume programmatically).

Configuration

Display Data
Display Data
Define the structure of your response data. Use <variable.name> in field names to reference workflow variables.
Notification (Send URL)
Notification (Send URL)
Configure notification tools to alert approvers (e.g., Slack, Email)
Resume Form
Resume Form
Define the fields the approver can fill in when resuming

Fields

FieldPurpose
Display DataStructured key-value data shown to the reviewer. Reference upstream variables with <block.output> syntax.
NotificationAttach a tool (Slack, Email, etc.) that will fire when the block pauses, sending the resume URL to the right people.
Resume FormDefine the input fields the approver must complete before the workflow resumes. These become block outputs.

Outputs

OutputTypeDescription
urlstringURL to the review UI where the approver can act
resumeEndpointstringAPI endpoint for resuming the workflow via HTTP POST

Best Practices

  • Always configure a notification so approvers know a workflow is waiting for them. Without one the resume URL must be shared manually.
  • Keep display data focused -- include only the information the reviewer needs to make a decision.
  • Design the resume form carefully -- downstream blocks will depend on the fields you define here, so name them clearly.