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
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.
- 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.
- 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.
- 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.
- 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.
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?
Can this act as a decision layer for an n8n AI Agent?
Can approval survive an n8n restart?
What if the customer declines or never answers?
Does an approved workflow guarantee exactly one action?
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 freePartner plan, $99 a month. Your users never make a Pushary account or pay us.