HumanStep icon

HumanStep

Interact with the HumanStep API

Actions2

Validation → Create Decision and Wait

AI-generated

Summary

Creates a HumanStep decision (human review request) via POST /decisions, then keeps the node running, polling until the decision is no longer pending or the timeout is hit. Outputs the final resolved decision for each input item.

Inputs

  • Decision Title (required) — Title shown in HumanStep for the decision.
  • Use Template — Switches between a free-form payload (off) and a predefined HumanStep review template (on).
  • Options (Payload, Callback URL) — Shown when Use Template is off. Payload is a JSON object sent as the request payload (defaults to {}; invalid JSON raises 'Payload JSON is invalid'). Callback URL is an optional URL HumanStep calls when the decision is resolved.
  • Review Template (required) — Shown when Use Template is on. Pick from the list of active templates or enter a template ID.
  • Variant Fields — For templates with variant selector fields: split each variant into separate mapper fields (expanded) or use a single JSON object (raw). Ignored otherwise.
  • Variations to Show — Number of variation field groups shown in expanded mode (default 2); clamped to the template's min/max. It only affects the mapper UI.
  • Fields — Resource mapper of the template's fields. Empty values are dropped. Multiselect and checkbox-group values are normalized to arrays (JSON array or comma-separated). Expanded variant fields are assembled into {variants:[...], selected} with the first variant selected.
  • Additional Options (Priority, External ID, Callback URL) — Template mode only. Priority (low/normal/high/urgent) and External ID are placed inside the payload as priority and external_id. Callback URL is sent as callback_url.
  • Wait Options (Poll Interval, Timeout) — Poll Interval in seconds (default 2, minimum 0.5). Timeout in minutes (default 5, minimum 1). If the timeout is reached while the decision is still pending, the node fails and the error includes the resolve URL when one was returned.

Output shape

One output item per input item, each with the final decision object from GET /decisions/{id} (including its non-pending status and resolution data as returned by HumanStep).

The node polls until the status is anything other than 'pending'. It fails on timeout or if the create response has no decision id. With Continue On Fail enabled, failed items return {error: message}. If there are no input items, the node runs once with an empty item. Requires HumanStep API credentials. The node logs debug output to the server console unless HUMANSTEP_N8N_DEBUG is 0 or false.

Examples

Example 1: Pause a workflow for a manager to approve an expense before continuing.

Decision Title 'Approve expense request'; Use Template off; Payload JSON with amount and requester; Timeout 60 minutes; Poll Interval 5.

Example 2: Send a templated review with high priority and track it by your own ID.

Use Template on; select a Review Template; map Fields from upstream data; Additional Options: Priority high, External ID set to the order number.

Links

Discussion