Human-in-the-loop for n8n

Let AI propose. Let your customer decide.

Your n8n workflow holds the exact action until your user approves it on their phone.

What n8n gives you

Wait, and a saved execution

n8n's Wait node parks an execution and picks it back up later. The example waits two minutes between checks so n8n can save the execution; keep its execution database across restarts. A polling deadline stops a workflow nobody answers.

Where it stops

  • An HTTP request that times out loses the wait. Only a saved execution survives.
  • An AI tool that asks a question does not force the model to ask first.
  • A webhook can wake your check, but its payload alone cannot approve the action.

The fix

Pushary gets your user's answer.

Wait parks the workflow. The Pushary node sends the request to your user's phone, then checks that the answer comes from the same user and covers the exact action before anything runs.

The Pushary node, with Resource set to Decision, creates a request for your user and checks the saved action on every read. Wait parks the run between checks. Only approved === true reaches the action.

Settings → Community Nodes → Install: n8n-nodes-pushary

import customer-approval.json from the repository
Trusted Action → Create Decision → Check Approval → Approved?
                                      ↑                ├─ true → Simulated Action
                                      │                └─ false → Still Pending?
                                      └──── Wait 2 min ←─────────┤
                                                               └─ no → Stop

// Bind External ID in the Decision credential.
// Keep operationId and the exact action in trusted workflow state.
// The final example node simulates an effect; it sends no refund.

How it works

From install to the first answer

Connect your user once. Put the approval on the risky step. Pushary sends the question, waits for the answer and saves it.

  1. 01

    Install the community package

    On self-hosted n8n, install n8n-nodes-pushary from Settings → Community Nodes. Add the Pushary node and set Resource to Decision.

  2. 02

    Connect your user once

    Connect your user once with a link from your app. Add a Pushary Decision API credential with your API key and that user's id. Keep keys out of exported workflows.

  3. 03

    Import the workflow

    Import customer-approval.json and pick the credential on Create and Check. Check the AI's proposal before Trusted Action; the final action is only a simulation.

  4. 04

    Check, then act

    After each Wait, Check Approval reads the saved request again. Only your user's yes to that exact action passes. A no, an expiry or the deadline stops the workflow.

A question can be a yes or no, a choice from a list, or a typed answer. Every answer is saved.

Before you ship

Things that bite on n8n

Do not let the model choose the approver
Put your user's id in the credential. Check the proposal upstream, then lock in the user, the target, the operation ID and the full action. Never use $fromAI() for who approves or for the saved action.
Poll the request you already made
After Wait, use Check Approval, not another Create. A stable operation ID makes Create safe to run twice. If the draft changes, give it a new operation version and ask again.
Gate the real side effect
Connect the action only to approved === true and run the action you checked. Your refund API still needs its own operation key: replaying an approved execution must not refund twice.

The Partner plan

Your agent asks your users, not just you

Ship your agent to your users. Each of them approves its risky actions from their phone, under your brand.

$99/ month, every framework included
Start free

Your users never make a Pushary account or pay us.

Your users answer on their own phones

Connect each user once with a link. They install the free Pushary app and answer from the lock screen, with no account of their own.

No answer means no

Run the action only after an explicit Approve. A request that is still waiting, expired or cancelled never counts as a yes. Pushary keeps every request, so your code can pick it up again after a restart.

Reaches them on their phone

The app comes first, because only the app puts Approve and Deny on the lock screen. Browser notifications come next. You build no delivery system.

Every answer saved

Every answer is saved with who answered and when. You can search and export it, and with a callback URL, each answer is also sent to your server as a signed webhook.

FAQ

Questions, answered

Is there a Pushary n8n community package?
Yes. Install n8n-nodes-pushary on self-hosted n8n. Requests to your users live on the Pushary node under Resource → Decision, and the example workflow imports from GitHub. It is not yet a verified package in the n8n Cloud catalog.
Can this act as a decision layer for an n8n AI Agent?
Yes, when your workflow enforces it. Let the agent propose, then check and freeze the action, ask your user, and connect the action only to the approved branch. Do not give the agent a second route to the same action. Pushary is not a channel in n8n's Human Review dropdown; this workflow is the gate.
Can approval survive an n8n restart?
Yes, if n8n keeps its execution database. The example waits two minutes with the Wait node and checks the saved request again after it resumes. Pushary keeps your user's answer on its side; it does not save or rebuild the n8n execution.
What if the customer declines or never answers?
The action does not run. Check Approval returns approved false for waiting, denied, expired and cancelled requests. The example keeps waiting only while the request is open and before its deadline, then stops. An error never counts as approval.
Does an approved workflow guarantee exactly one action?
No. Keep the saved operation ID and have your refund API drop repeats of the same operation. An approval covers the action your user saw; it does not stop an outside service from running a replay twice.

Let your n8n agent ask before it acts.

Connect a user once, ask with one call, and run the action only on a yes. Every answer is saved.

Start free

Partner plan, $99 a month. Your users never make a Pushary account or pay us.