Description
n8n-nodes-pushary
Customer approval for AI workflows using source=github&utmmedium=oss-adapter&utmcampaign=pushary-n8n&utmcontent=guide”>Integration guide · . Pending, denied, expired, cancelled and non-confirm answers are not approvals. Missing or mismatched identity, changed action, malformed response and HTTP errors fail the node. With Continue On Fail, errors explicitly return Action JSON contains 1–32 flat string, number or boolean fields. Field names are limited to 64 characters, string values to 200, and the complete saved snapshot to 2,000. Include every value that affects the action, including its immutable version. Do not include secrets. Server redaction that changes the snapshot causes verification to fail safely. Import customer-approval.json, then select your Decision credential on Create and Check. Run manually with an enrolled test customer. The final Simulated Action only outputs what would execute; it does not publish, charge, or send anything. Use native Wait between reads, never another Create to poll. The example waits two minutes so n8n can persist the waiting execution. It checks again after resuming and stops on terminal state or its polling deadline. Keep n8n’s execution database persistent across restarts. For an AI workflow, have the model draft a proposal upstream of Trusted Action. Your application must validate it, resolve the authorized customer and target, assign the business operation/version, and freeze the exact action. Do not use Connect the real action only to the true output of the strict Although the node can be used as an AI tool, this workflow composition is the approval boundary. Pushary is not a built-in channel in n8n’s Human Review dropdown. The example does not trust webhook payloads and does not expose an API operation that answers on the customer’s behalf. Decision contents appear in n8n execution history. Configure access, retention and pruning for your customer data. Keep API keys in credentials and never in exported workflows. Existing Pushary workflows keep their operations and Pushary API credential; an omitted Resource defaults to Notification. Existing Pushary Decision nodes remain registered for compatibility and use the same decision execution and validation as Pushary → Decision. Saved workflows retain their node names, credentials, expressions, action snapshots and decision IDs; paused executions can continue checking the original decision. The legacy node is hidden from the picker. To migrate voluntarily, back up workflows, let paused executions finish, then replace each Pushary Decision node with Pushary, select Resource → Decision, copy its operation and parameters, reconnect its inputs and outputs, and select the same Pushary Decision API credential. Keep the node name when downstream expressions reference it. Version 0.3.0 removed the legacy type; version 0.3.1 restores it. Upgrade 0.2.x workflows directly to 0.3.1 or later. Under Resource → Notification: Legacy Ask has no retry idempotency. Poll with Get Answer, not repeated Ask calls. If you use a callback, verify its signature and reread trusted server state before executing an action; receiving a callback alone is not approval. Canonical source: Public GitHub Actions publishes with npm provenance. Configure the npm trusted publisher as owner After publication, run approved: false.
Example: propose, wait, verify, act
Trusted Action → Create Decision → Check Approval → Approved? → Simulated Action
↑ ↓ no
Wait ← Still Pending? → Stop
$fromAI() for recipient, operation ID, Decision ID or the expected snapshot. Do not expose the protected action as another ungated AI tool. A prompt saying “ask first” does not enforce approval.approved === true condition. Execute the checked action output. The destination must enforce its own idempotency using operationId: replaying an approved workflow does not make an external side effect exactly once. If the draft changes, create a new version and request approval again.Existing workflows
/ask API for confirm, select or free-text questions. Partner customer decisions must use Resource → Decision. Its short HTTP wait is not durable customer orchestration.value: "yes" may pass a confirmation gate.Development and releases
npm ci
npm run lint
npm run build
npm run typecheck
npm test
npm pack --dry-run
integrations/n8n-nodes-pushary in the Pushary monorepo, synced to the public repository. Contact: business@pushary.com. Report issues on GitHub.Pushary, repository n8n-nodes-pushary, workflow publish.yml, without an environment. Run the workflow with dry_run enabled first. A matching version tag publishes the release.npx @n8n/scan-community-package n8n-nodes-pushary and submit through the Creator Portal. Submission and passing automated checks do not mean n8n has verified the package.References