n8n-nodes-humanstep
v0.1.18
Published
n8n community node for HumanStep — add human decision steps to your automation workflows
Maintainers
Readme
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-humanstepFor 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:
- Sign in to HumanStep
- Open Settings → API Keys
- 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 isfalse, 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
- HTTP Request — fetch data to review
- HumanStep — Create Decision with the data as payload
- 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
- HTTP Request — fetch data to review
- HumanStep — Create Decision and Wait
- IF — check
$json.status === "approved" - Continue with the approved, rejected, or changes-requested branch
React when a template decision is approved
- HumanStep Trigger — Decision Resolved, filter by template
- IF — check
$json.decision.status === "approved" - 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
