SSiddiq.in
Self-hostable workflow engine

n8n is the middle ground between Zapier and "just build it." Used right, it saves months. Used wrong, it becomes the debt.

Six years of building automation for SMEs has taught us where n8n earns its keep and where it quietly turns into a fragile grey box nobody wants to open. This is the honest guide.

The tool matrix

Zapier · Make · n8n · Code. Where each one wins.

ZapierMaken8n (self-hosted)Code
Best forMarketing-ownedVisual branchingVolume + controlCustom logic, performance
OwnerAnyoneOps personOps + engineerEngineer
Cost @ 100k ops/mo~$700~$300~$10 hostingHosting only
Version control❌❌✅ (JSON in git)✅
Data residencyUS-only mostlyEU optionWherever you hostWherever you host
Failure visibilityEmail digestEmail + retry UICustom (Slack, PagerDuty)Whatever you build
The error workflow · every project ships with one

Silent failure is the #1 cause of "automation trust collapse."

STEP 1
Error Trigger
Fires on any failed execution across every workflow.
STEP 2
Enrich context
Which workflow · which node · input payload · timestamp.
STEP 3
Slack alert
Rich message with re-run button + assigned owner.
STEP 4
Retry queue
Auto-retry safe ops · human-review the destructive ones.
Graduation signals

Six moments we tell you: it's time to code this.

Node count > 15

The visual layout stops helping and starts hiding logic.

Function nodes doing the real work

You're coding in a text box with no tests — port it out.

Sub-workflows called 3+ times

Reuse deserves a real function, not copy-paste JSON.

Sub-500ms latency needed

n8n's per-node overhead adds up. Native code wins.

Multi-tenant concerns

One customer's failed workflow shouldn't slow another's.

Compliance audit approaching

Auditors ask 'where's the test suite for this?' — n8n has none.

n8n FAQ

Zapier for the person in marketing who owns the workflow (best UX, most expensive at volume). Make for complex branching visually. n8n when volume is high enough that per-op billing hurts, or when self-hosting for data residency matters. All three are fine — the wrong choice is 'whatever the last consultant used'.

Node taxonomy

Six node classes. Every workflow is a sentence in this grammar.

Triggers
Webhook (external event), Cron (schedule), Poll (upstream has no webhook). Trigger choice sets latency + reliability profile.
Transforms
Function (code), Set (assign fields), Split-in-batches (chunk arrays), Item-Lists (map/filter). This is where 90% of bugs live.
Integrations
500+ native + generic HTTP Request. Prefer native for auth handling and pagination — fall back to HTTP for edge APIs.
Branching
IF (binary), Switch (n-way), Merge (rejoin). Keep branches shallow — deep nesting is unreadable at 3am.
Storage & memory
Static data, workflow context, external DB. Use static for cursors; external DB for anything a human might read later.
Error workflows
Attach a global error workflow. Every failure lands in a Slack channel with the failing node, input, and stack. Silence is expensive.

Get workflows that don't quietly fail.

Scope an automation
Right tech, honest advice

Not sure if this is the right stack for you?

Tell us your goals — we'll recommend the right technology honestly, even if it isn't this one.

  • Personal reply from Siddiq within 24 hours
  • Honest advice — no pushy sales, no fake urgency
  • Clear next steps, timeline, and estimate

We only use your details to reply to this enquiry. Privacy.