Go to Studio

Human in the Loop

The Human in the Loop node pauses workflow execution and asks a human reviewer to validate content before continuing.

Human in the Loop pause node awaiting reviewer decision on intermediate data

What does the Human in the Loop node do?

The Human in the Loop node pauses workflow execution and presents content to a human reviewer for approval before resuming. It lets you insert a manual checkpoint at any critical step in your workflow — to review AI-generated content, validate data, or approve actions before they run downstream.

Common use cases:

  • Reviewing AI-generated articles or summaries before publishing them to a CMS.
  • Validating extracted data before writing it to an external system (CRM, database, spreadsheet).
  • Quality-checking email content or customer-facing messages before they are sent.
  • Approving sensitive or irreversible operations before they execute.

Quick setup

Follow these steps to add and configure the Human in the Loop node in your workflow:

Add the node to the canvas

Open the Node Library, go to Tools > Flow Control, then drag and drop the Human in the Loop node onto your workspace.

Connect the input

Connect the Content input port (on the left of the node) to the output of the upstream node carrying the data to review (for example an LLM, a Web Scraper, or a JSON Path Extractor).

Write a custom message (optional)

Open the node settings and fill the Custom Message field to tell the reviewer exactly what to check or which criteria to apply.

Connect the output

Connect the Output port (on the right) to the next node. Execution resumes and the approved content flows through once the reviewer has validated it.

Configuration parameters

Human in the Loop settings timeouts assignees messaging and gate rules

Configuring the node requires connecting the content to review and, optionally, providing a clear instruction for the reviewer.

Required fields

Name string required default: Human in the Loop

Node name — Identifies this node in the workflow. Rename it to describe the review step (e.g. “Approve blog post”, “Validate extracted invoice”).

Description string required default: Ask a human to review the content and provide a feedback

Node description — A short sentence describing what this review step is for.

Content string required

Content to review — The data presented to the reviewer. Connected from an upstream node’s output. Accepts any value the reviewer can read (text, JSON, formatted output).

Optional fields

Custom Message string default: Empty

Instruction shown to the reviewer — A free-text message displayed alongside the content to give the reviewer the context and acceptance criteria. Examples: “Review this blog post for accuracy and tone before publishing”, “Verify the extracted data matches the source document”, “Approve this email before it is sent to the client”.

Tip

The more specific your custom message, the faster and more reliable the review. Mention the exact fields, tone, or facts to check rather than asking for a generic “review”.

What does the node output?

The node outputs the content as approved by the reviewer. The workflow stays paused until a human acts on the review request, then execution continues with that content as the next node’s input.

How to use the output

In Draft & Goal, you don’t need to look up a complex system-generated variable name. To use the result:

  1. Draw a connection from the Human in the Loop node’s Output port.
  2. Connect it to the next node’s input.
  3. In that next node, create and name your own variable (for example, approved_content). The reviewed value will be injected into it automatically.
Output string

The content as approved by the human reviewer. Returned only once the review request has been validated; until then the workflow stays paused on this node.

Usage examples

Example 1: Approve an AI-generated article before publishing to Notion

Make sure an LLM-generated article is accurate and on-brand before it lands on your CMS.

Workflow:

  1. Web Scraper — Fetch a source page used as raw material.
  2. LLM — Generate a structured article from that source.
  3. Human in the LoopContent connected to the LLM output. Custom Message = “Review this article for factual accuracy, tone, and completeness before publishing to Notion”.
  4. Notion Database Writer — Receives the approved article and publishes it.

Example 2: Validate a personalized email before it is sent

Catch wrong customer names, broken offers, or off-brand tone before an automated email goes out.

Workflow:

  1. LLM — Generate a personalized email from CRM data.
  2. Human in the LoopContent connected to the email body. Custom Message = “Check the customer name, offer details, and that the tone is professional. Reject if anything looks wrong”.
  3. Email Sender — Sends the approved email.

Common issues

The workflow is stuck on the Human in the Loop node

Cause: The node is doing exactly its job — it pauses the workflow and waits for a human to validate the review request. There is no automatic timeout.

Solution: Open the workflow execution panel and look for a pending review request on this node. The reviewer must read the content and approve it for the workflow to resume.

The reviewer doesn't know what to check

Cause: The Custom Message field is empty or too vague, so the reviewer only sees raw content with no acceptance criteria.

Solution: Fill Custom Message with a precise instruction that lists what the reviewer must verify (specific fields, tone, facts, formatting). The clearer the message, the faster and more consistent the review.

No content reaches the reviewer

Cause: The Content input is not connected, or the upstream node produced an empty output.

Solution: Verify the Content port is connected to the correct upstream node. Run the upstream node alone to confirm it produces non-empty output before reconnecting.

Best practices and pitfalls

Tip

Place a Human in the Loop node just before any irreversible action — sending emails, writing to databases, publishing to a CMS, updating a CRM. A 30-second human check is much cheaper than rolling back a bad write to production.

Warning

A workflow paused on this node consumes a slot until it is approved. If you fan out many parallel reviews (e.g. inside a Loop), you can saturate review queues and stall the whole pipeline. Batch reviews when possible, and split independent decisions into separate Human in the Loop nodes so reviewers can approve them one by one.

How does it fit into a workflow?

Human in the Loop typically acts as an approval gate between content generation and any irreversible downstream action. Here’s a typical integration pattern for AI-generated content that ends up in an external system:

graph LR
    Source[Web Scraper / Data source] --> LLM[LLM generates content]
    LLM --> HITL[Human in the Loop
<br/>reviewer approves]
    HITL --> Publish[Notion / Email / CRM writer]