n8n Approvals
n8n-nodes-humanauth is an n8n community node that puts a human in the loop of a workflow. The workflow pauses, an approver decides in the HumanAuth app on their phone or Mac — biometric to approve, a reason to deny — and the run continues carrying a dual-signed, offline-verifiable receipt, or stops.
Put it directly in front of the irreversible step: the payment, the client email, the record update.
Install
Section titled “Install”In n8n: Settings → Community Nodes → Install, then enter n8n-nodes-humanauth.
Credentials
Section titled “Credentials”Create a HumanAuth API credential:
| Field | Value |
|---|---|
| API Key | Your HumanAuth API key (ha_…). Don’t have one? Request access. |
| Base URL | https://api.humanauth.ai, or your self-hosted platform |
Parameters
Section titled “Parameters”| Parameter | Default | Meaning |
|---|---|---|
| Approver | — | One person (hu_…) or a quorum group (grp_…) |
| Action | workflow:approve | service:operation label stamped into the receipt, e.g. payments:send |
| Description | — | What the approver reads before deciding. Put the amounts and names here. |
| Severity | medium | low, medium, high or critical |
| Timeout (Seconds) | 300 | How long the request stays open before it expires |
| Wait for Decision | on | Pause until a human decides. Off returns the request_id immediately. |
| Fail Workflow on Denial | on | A denial or expiry throws, stopping the workflow. Off passes the result through so you can branch on it. |
While waiting, the node polls the request until it resolves or the timeout passes, so the execution stays open for up to the timeout. For approvals that may take hours, turn Wait for Decision off and pick the decision up with a webhook subscription instead.
Output
Section titled “Output”| Field | Meaning |
|---|---|
request_id | The approval request |
status / result | Final state, and approved, denied or expired |
receipt_id | The receipt’s identifier |
receipt_jws | The signed receipt itself |
plan_hash | Hash of the action the approver saw — the receipt is bound to it |
action | The action label you set |
receipt_jws is the evidence. Verify it downstream with @humanauth/verifier — offline, against public keys — before the step that executes, or attach it to the client report as proof of who approved what.
Quorum
Section titled “Quorum”Set Approver to a group (grp_…) and the group’s policy decides: one of many on-call, two of three finance approvers, unanimous with veto. Peer votes stay masked until the request resolves. See use cases and patterns.
Approver apps
Section titled “Approver apps”Approvers install HumanAuth from the App Store or Google Play, or the Mac menu-bar app, and join with an invite code.