Home › Products › Approval Gate, n8n pack
Approval Gate, n8n pack
Hold AI-written drafts for human sign-off in Slack or email before anything is sent.
Put a human "yes" between an AI-written draft and the moment it goes out. Your agent or workflow posts a draft (an email, or JSON for a webhook) to n8n.
The gate stores it with its sha256 hash, asks your approvers in Slack (Approve/Reject buttons) and by email (a review link), and waits. Nothing is sent until an allowlisted approver says yes, the hash is checked again just before sending, and a draft nobody decides on expires unsent.
Link previews can't decide (that needs a POST with a signed per-approver token), double clicks send once, and every step goes into a decision log: who, when, hash and channel.
What's in the download
- workflow/: 3 workflows to import (request, wait and send; decisions; reminders and expiry)
- SETUP.md: step-by-step setup
- test-data/: sample requests
- tests/: validator, end-to-end harness and the script that builds the workflow files
- TEST-REPORT.md, LICENSE.txt, REFUND.txt
Who it's for
Founders and ops people running AI agents or n8n automations that send email or call webhooks, on self-hosted n8n.
What's tested
- 49 static checks of the workflow files, all passing
- 81 end-to-end checks on SQLite and 81 on PostgreSQL, all passing: the 3 workflows were imported into a real local n8n 2.43.7 and driven over HTTP
- Checked: hash stored and re-checked before send; edited drafts refused or blocked; GET and HEAD change nothing; missing, forged and reused tokens refused; double and 8-way simultaneous decisions send once; allowlist; bad, stale and tampered Slack signatures; expiry and reminders; tampered and replayed resume URLs; delivery failure not retried; decision log fields
What isn't tested
- Slack and email were mocked (a local HTTP server and a local SMTP sink, with Slack clicks signed by the test); real Slack, real email providers and real delivery endpoints were not used
- The Slack app setup steps in SETUP.md are written from Slack's docs
- Not tested on n8n Cloud, n8n 1.x, queue mode, or n8n's external task-runner mode
- Not tested behind a public URL or reverse proxy
- The test run used n8n's internal task-runner mode, which n8n has deprecated.
Requirements
Self-hosted n8n only (tested on n8n 2.43.7, Node 24, with SQLite and with PostgreSQL 17). Uses n8n Data tables; no NODE_FUNCTION_ALLOW_BUILTIN setting needed. An SMTP credential; Slack is optional. n8n must be reachable at its WEBHOOK_URL by approvers and by itself. Setup typically takes 30–45 minutes (an estimate).
How to use it
In n8n, choose Workflows > Import from File and import the 3 files in workflow/, then follow SETUP.md.
Approval Gate, n8n pack · Instant download · 30-day refund · Licence