We run n8n Enterprise for ~90 active makers every day.
The library has grown fast and some workflows now touch critical prod systems.
We’d like every change to go through a pull-request-style review before the node executes in production.
Constraint
Spinning up a realistic staging stack isn’t an option, many external services don’t have sandbox tenants.
What I’ve explored so far
n8n “Source Control & Environments”
Looks great on paper: Git-backed branches + PRs ➜ merge ➜ promoted environment.
Question: has anyone successfully used this to “review” changes that go to “prod”? How? Remember, i want to let users execute after review. To test they should use mocked data.
What I’m looking for
Real-world experiences (successes or horror stories!) implementing review gates without a dedicated staging instance.
Any tooling we missed that adds “approval before execute” or feature-flag-style rollout for nodes.
You might be able to add some of the restrictions you want using backend hooks. At one point, I tested one of the hook functions on the community edition and got this result (repeating here that the hooks are documented with the “embed”-related features, but that may be just because they’re most useful in an “embed license” scenario).
If I were trying to prevent activation or execution of a workflow, I would probably start with a backend hook (workflow.afterUpdate) that marked the workflow as “review-pending,” in an external “status” data store, upon any modification, and then block activation and/or execution with other backend hook(s) (workflow.activate and/or workflow.preExecute) until the workflow status was changed to “approved.”
Managing a promotion scheme in a single environment is certainly a challenge, for n8n or anything else. Hope you get some other suggestions related to this. I’d be interested in other strategies too.
"I have built ai agent by using ollama model ,also remember this ollama model and n8n Is Host on my personal vps but the speed of reply is very slow. It takes a lot of time to get a response—up to 5 minutes. Why?