Skip to content
createwithlogic

An honest comparison

Custom automation
vs. n8n

Most pages comparing these two are written by someone who has only ever sold one side. I have lived both: I built a lot of n8n, including a self-hosted production pipeline, before moving my entire practice to custom code. This page is what that experience taught me about where the line actually sits.

Why n8n is the best of the no-code tier

If you are choosing between Zapier, Make, and n8n, the ranking is not close for technical teams. n8n is self-hostable, so your data stays on your infrastructure and there is no per-task meter taxing your growth; the bill is your server. It is code-friendly: when a node can't do something, you drop into a code node instead of fighting the canvas. And the workflows you build are genuinely yours, running where you put them. Those three properties fix the worst structural problems of the tier.

That is why n8n was the tool from this category I chose for my own work back when I built on this tier. The question on this page is not "is n8n good": it is where its ceiling sits, and how to recognize your problem's side of it.

A real n8n system from my own n8n phase

A US facilities-services company was re-typing incoming work orders by hand, every day, from one platform into another. The pipeline that replaced that was built on self-hosted n8n, back when n8n was my default tool: it parses each order from email, converts it into the exact 28-column CSV their field-service system requires, uploads it via FTPS, polls for success or error, and logs every order. The full case study is here.

Why was n8n defensible here? The flow is linear: message in, parse, format, deliver, verify. No user interface, no multi-tenant data, no complex state. Self-hosting kept the running cost flat for a budget-conscious client, and the client's verdict stands: "Tim automated a portion of our workflow that will save my team days by the end of the year." And still: the hard parts of that build, the strict format, the delivery verification, the logging, were code. Building and operating systems like this one is exactly the experience that moved my whole practice to custom code.

And a real system where n8n would have collapsed

The other side of the same decision: a client operations platform for a marketing agency, with 229 API routes, 183 database tables, 25 background jobs, and client-facing dashboards secured per tenant. That one is custom code, equally deliberately. Multi-tenant security, automated test suites, a real UI, and database migrations are not things you build on a workflow canvas. Same engineer, same year, opposite tool choice, because the problems were opposite.

The comparison, straight

n8n (self-hosted) Custom system
Best for Linear integration flows between known systems Operations your business depends on
Cost model Self-hosted: your server bill, no per-task fees $0 to exist; you own the code
Custom logic Code nodes help, until they become the system Native: full language, libraries, versioning
Testing Manual runs against live data Automated test suites, staged rollouts
Complex state Canvases sprawl once branching and state grow Queues, retries, state machines, migrations
Multi-tenant & UIs Not what it is built for Row-level security, client-facing portals
Data volume Fine for events; strains as a data platform Postgres does millions of rows happily
Ownership Genuinely good: self-hosted workflows are yours Yours end to end: repo, database, infra

Where the ceiling actually is

n8n's limits show up in five places, and they arrive quietly. State: once a process needs to remember things across runs, retry partial failures, and reconcile drift, a canvas of nodes fights you. Testing: there is no 54/54 test suite for a workflow you can only verify by running against live data. Multi-tenancy: per-client data isolation with row-level security is a database discipline, not a workflow feature. Interfaces: the moment users need dashboards or portals, you are building software anyway. Volume: event-by-event processing is fine; operating as the system of record for hundreds of thousands of rows is not what it is for.

The rule of thumb I give founders

Choose n8n when the flow is linear, the volume is modest, no human-facing interface is needed, and self-hosting matters to you. Go custom when the process needs state, tests, a UI, per-client isolation, or real data volume. And distrust anyone whose answer never varies: the tool should be chosen per problem, not per ideology. I have shipped both answers in production, and both were right.

Common questions, answered straight

Is n8n better than Zapier or Make?

For technical teams, usually yes. Self-hosting removes per-task pricing, keeps data on your own infrastructure, and code nodes give you an escape hatch the others lack. That is why n8n was the tool I chose from this tier back when I built on it myself.

Do you build n8n workflows for clients?

Not anymore. I built plenty of n8n, including a production pipeline for a US facilities-services company, and that experience is exactly why my delivery today is 100% custom code. What remains is the honest recommendation: if your problem genuinely fits n8n, my teardown will say so, and an n8n specialist can build it for you cheaply. My work starts where the workflow tier stops.

When should I move from n8n to custom code?

When the workflow needs real state, automated tests, a user interface, per-client data isolation, or serious data volume. If your canvas has grown branches nobody can follow, or the code nodes have quietly become the actual system, the tool is telling you something.

If we start with n8n, are we locked in?

No. Self-hosted n8n is one of the least locked-in options in its tier: the workflows run on your server and your data stays with you. If a workflow later outgrows it, rebuilding it as custom code is a normal, contained project rather than a rescue mission.

Not sure which side of the ceiling you're on?

Free systems teardown: your 3 biggest automation leaks, what each costs monthly, and an honest tool recommendation for each. If n8n is the right answer for you, the teardown will say "use n8n." I do not sell n8n builds anymore, which is precisely why you can trust that recommendation. In your inbox within 72 hours.

Get your free systems teardown