humanstep

n8n community node for HumanStep — add human decision steps to your automation workflows

Package Information

Released: 4 mo ago
Downloads: 44 weekly / 2,820 monthly
Latest Version: 0.1.18
Author: HumanStep

Documentation

n8n-nodes-humanstep

n8n community node package for HumanStep — add human decision steps to your automation workflows.

HumanStep lets you pause automations and route decisions to people for review. This integration provides:

  • HumanStep action node — create decision requests, either async or waiting for the result
  • HumanStep Trigger node — start workflows when decisions are resolved

Installation

Follow the n8n community nodes installation guide.

In n8n, go to Settings → Community Nodes → Install, then enter:

n8n-nodes-humanstep

For local development, see docs/DEVELOPMENT.md.

Credentials

This package requires a HumanStep API credential:

Field Description
API Key Your HumanStep API key (hs_live_...)
Base URL https://api.humanstep.ai/api (default)

To create an API key:

  1. Sign in to HumanStep
  2. Open Settings → API Keys
  3. Create a key and copy it (shown once)

Use Test in n8n to verify the credential against GET /api/team.

Nodes

HumanStep (action)

Resource: Validation
Operations: Create Decision, Create Decision and Wait

Creates a pending decision in HumanStep and returns the decision object (including resolve_url for reviewers).

  • Create Decision returns immediately. Use this when another workflow should continue from the HumanStep Trigger node.
  • Create Decision and Wait keeps the current execution open, polls HumanStep until the decision is resolved, then returns the resolved decision to downstream nodes.

Simple validation (no template)

  • Set Use Template to false
  • Enter a Question Title (e.g. "Approve this expense?")
  • Optionally add a JSON Payload with context for the reviewer
  • Optionally add a Callback URL if you want HumanStep to call a specific endpoint when the decision resolves

Template-based decision

  • Set Use Template to true
  • Select a Review Template
  • Map template Fields using the resource mapper
  • Optionally set Priority, External ID, or Callback URL in Additional Options

For Create Decision and Wait, configure Wait Options:

  • Poll Interval (Seconds) — how often n8n checks the decision status (default: 2)
  • Timeout (Minutes) — maximum wait before the node fails (default: 5)

HumanStep Trigger

Listens for Decision Resolved events from HumanStep.

  • Use Template false — triggers for any resolved decision in your workspace
  • Use Category true — when Use Template is false, only triggers for decisions in the selected category
  • Use Template true — only triggers for decisions using the selected template
  • Wait for Real Data false — sends an immediate sample payload when you execute the trigger
  • Wait for Real Data true — waits for the next real HumanStep webhook event

When you activate the workflow, the trigger registers a webhook with HumanStep. Resolved decisions are delivered to your n8n webhook URL.

Example workflows

Request approval and continue in another workflow

  1. HTTP Request — fetch data to review
  2. HumanStep — Create Decision with the data as payload
  3. HumanStep Trigger (separate workflow) — on resolve, continue downstream steps (notify, update CRM, etc.)

This is the best fit for very long waits because n8n does not need to keep the original execution open.

Request approval before continuing in the same workflow

  1. HTTP Request — fetch data to review
  2. HumanStep — Create Decision and Wait
  3. IF — check $json.status === "approved"
  4. Continue with the approved, rejected, or changes-requested branch

React when a template decision is approved

  1. HumanStep Trigger — Decision Resolved, filter by template
  2. IF — check $json.decision.status === "approved"
  3. Slack / Email — notify the team

Trigger payload

When a decision is resolved, the trigger receives:

{
  "event": "decision.resolved",
  "decision": {
    "id": "uuid",
    "team_id": "uuid",
    "template_id": "uuid",
    "category_id": "uuid",
    "title": "Decision title",
    "status": "approved",
    "reason_required": false,
    "rejection_reason": null,
    "payload": {},
    "created_at": "2026-01-15T12:00:00Z",
    "resolved_at": "2026-01-15T12:05:00Z"
  }
}

Use expressions such as {{ $json.decision.status }} and {{ $json.decision.payload }} in downstream nodes.

Requirements

  • Self-hosted n8n — install this community node package manually or via the Community Nodes UI
  • Public webhook URL — the trigger node requires n8n to be reachable from the internet so HumanStep can deliver webhook events (standard for any webhook-based trigger)
  • HumanStep account — with API access enabled

Resources

License

MIT

Discussion