n8n runs half the internet’s automations. Just don’t call it open source.

n8n runs half the internet’s automations. Just don’t call it open source.

Two camps have emerged in the AI agent landscape. One hands everything to the model — write a prompt and hope the logic holds. The other demands engineers route every pathway by hand. n8n’s Series C announcement puts the observation plainly: neither extreme serves businesses well, and n8n was built for the reality in between — you choose where on that spectrum each agent sits. Seven years in, that middle position has made n8n one of the most-starred projects on GitHub (206,000+ stars, a top-150 repo of all time by the company’s own count), a $2.5 billion valuation on $240 million raised, and — if you run any infrastructure — a platform you have probably already met, whether you know it or not.

This article is the deep-dive I wish existed: what n8n actually is under the hood, the fair-code license story that most coverage gets wrong, how the AI layer is built, what the operational reality of self-hosting looks like, and where the complexity ceiling sits. Everything numeric here traces to a primary source I fetched — n8n’s own docs, the LICENSE.md in the repo, the company’s funding posts, and the security research that made 2026 the year n8n learned what it means to be popular.

I also ran it: the n8n instance serving this article’s verification is live on my own server right now (v2.14.2, healthz 200, the official n8nio/n8n image). What follows is written from that vantage point, not from a landing page.


What n8n actually is

n8n (a numeronym of "nodemation" — node + automation, always lowercase, pronounced "n-eight-n") is a workflow automation platform you can run two ways: their cloud, or your infrastructure. The GitHub repo describes it as a "fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations."

The core model is simple and worth stating precisely, because everything else builds on it:

Data flows between nodes as an array of JSON items, each wrapped in a json key — and nodes iterate automatically. Hand a Gmail node an array of 500 items and it fires 500 times without you writing a loop. That single design decision is why n8n feels fast to build with: the platform’s unit of work is the item, and everything (expressions, retries, error branches) operates per item.

When the built-in 2,000+ integrations (the catalog currently counts 2,273) don’t cover you, three escape hatches keep you inside the same canvas:

That last trio is the honest answer to "is n8n just toys for non-developers?" — it is a visual first language with real escape hatches, and the escape hatches are first-class. The project’s positioning line, "code when you need it, UI when you don’t," is marketing-speak, but the underlying mechanics back it up.

The execution model, for people who run production systems

An execution is a single run of a workflow. Manual runs from the editor don’t count against quotas; production executions (started by triggers, schedules, polling) do — that distinction matters when you’re sizing a paid plan, and it’s where the per-execution pricing model (below) connects to the architecture.

Failure handling is designed, not bolted on: per-node Retry On Fail, per-node On Error behavior (stop, continue, or continue through an error-output branch), and error workflows — any workflow can be designated to run when another fails, triggered by the Error Trigger node with the execution ID, the failed node, and the error details. This is the pattern that separates n8n from Zapier-style tools: the failure path is part of the workflow graph, versioned with it, instead of an email alert bolted on outside.

Under the hood, self-hosted n8n is a Node.js application with a database:

One ops detail that bites everyone exactly once: with the default SQLite database you must stop n8n before copying the .n8n folder — copying a live SQLite file mid-write produces inconsistent backups. And the CLI --backup export contains only workflows and credentials; users, roles, execution history, variables, and the instance encryption key are not in it. Lose the key from .n8n/config and your stored credentials are unrecoverable. Backup strategy on n8n is a database strategy, not a folder-copy strategy.

The AI layer: LangChain with a canvas

This is where n8n made its bet, and where most of its 2025–2026 growth came from. The docs state the relationship directly: n8n’s AI nodes implement LangChain’s JavaScript framework, mapping LangChain concepts onto visual cluster nodes — agents, chains, tools, memory, vector stores, embeddings, document loaders, output parsers. n8n’s own blog: "In n8n, AI agents are built on top of the LangChain library."

The pattern in practice:

A newer, separate Agents feature (preview) goes beyond the canvas node: standalone autonomous assistants with model, instructions, tools, skills, web search, a knowledge base, and both session memory and episodic memory (the latter currently needs an OpenAI credential). It’s n8n hedging toward the "give the agent a desk" model — worth watching, not yet the default way to build.

The positioning is unusually candid for a vendor. Their "how to build your first AI agent" post names three approaches — from scratch if you’re feeling hardcore, frameworks like LangChain and CrewAI if you want flexibility without reinventing the wheel, or n8n — and argues n8n "uniquely balances implementation flexibility with speed of delivery." My take after building agents both ways: n8n’s real product isn’t the agent, it’s the orchestration around the agent — the triggers, retries, human-approval steps, credential management, and error workflows that turn a demo into something you’re willing to page someone about at 3 a.m. LangChain gives you a better brain; n8n gives you the body, the calendar, and the phone line.

Your software is rightly called source available. Do not gaslight us.

The fair-code story (the part most coverage gets wrong)

n8n is not open source, and this is not a hot take — it’s their own position, stated in their own docs. The Sustainable Use License fails the OSI Open Source Definition, because open-source licenses can’t restrict fields of endeavor, and n8n’s does. n8n doesn’t pretend otherwise; they coined the term fair-code for this model, and the repo README says "fair-code" right up front.

The history matters because it repeats across the industry:

What the Sustainable Use License actually permits (from LICENSE.md, verbatim): "You may use or modify the software only for your own internal business purposes or for non-commercial or personal use. You may distribute the software or provide it to others only if you do so free of charge for non-commercial purposes."

Read that twice, because it’s broader than most people fear and narrower than "open source." A 10,000-employee company can run n8n internally, forever, free — build every internal workflow on it, no license key, no seat tax. What you cannot do is sell n8n to others as a service; that requires a negotiated commercial agreement. The faircode.io framing (co-founded by n8n’s own Jan Oberhauser) is explicit that fair-code is not a software license but a model: source available, free to use and redistribute, "commercially restricted by its authors."

The practical map of what’s free and what isn’t:

The pricing model is the other half of the story. Zapier bills per task (every step, every connector call), Make bills per module action — n8n bills per full workflow execution. Their own blog runs the comparison: workflows with around 100,000 tasks "could easily cost over $500 per month on other platforms" versus roughly $50 on n8n’s Pro plan. That’s vendor math, so treat it as their claim — but the structural point holds regardless of whose numbers you use: a 12-node workflow that fans out over 5,000 items costs 12 executions on n8n and tens of thousands of tasks on a per-step rival. For high-volume internal automation, the billing model can be the whole decision.

And the honest counterpoint, because it matters: n8n has become big enough to have its own pricing gravity. n8n Cloud overage charges apply past quotas; the pricing FAQ openly says pricing "is not tied to how much it cost us to run n8n but the value it brings to you" — value-based, not cost-based, even for self-hosted Business/Enterprise features. The fair-code floor (self-host, community edition, internal use, free forever) is real and stable. The ceiling above it is commercial, and it is theirs.

Where it breaks

An expert review that doesn’t name failure modes is marketing. Here is where n8n genuinely struggles.

The complexity ceiling. Visual builders have a representational limit. When logic becomes deeply bespoke — cyclical multi-agent reasoning, state that must persist across sessions, branching that depends on data shape at runtime — developers end up pushing the hard parts into Code nodes, at which point the visual canvas is decoration around a codebase you can’t see. Third-party comparisons (and my own experience) converge on the same line: n8n was not built for agents that maintain complex state across multi-day sessions; if checkpointed, durable agent state is your core requirement, LangGraph’s model is the stronger fit. Related asymmetry: code-first agents pair with tracing tooling (LangSmith-class execution traces) that make agent decisions debuggable; n8n’s execution log is excellent for workflow logic but thinner when the "logic" lives inside a model’s tool-calling loop. Their newer Evaluations feature acknowledges exactly this gap — testing agents is hard, and n8n is building toward it.

No native Git in the free edition. Workflows export to JSON (so external versioning is possible — mind credential references in the exports), but real source control (push/pull to a Git repo, environments as instance+branch, workflow diffs) is a Business/Enterprise feature. For a solo builder this is fine. For a team of five shipping workflow changes to production, it is the first wall you hit — and it’s a wall n8n chose, deliberately, because it sits exactly where team-scale buyers start paying.

The ops burden is real. "n8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime" — their own docs, not mine. The minimum spec for the current Docker Compose setup is 4 GB RAM / 2 vCPUs. Queue mode drags in Postgres and Redis. There’s no filesystem binary storage in queue mode (use S3). Releases land weekly and the docs recommend a full backup before every update. None of this is unreasonable; all of it is a standing commitment.

Security: the cost of becoming infrastructure. 2026 was rough. The numbers, each traceable to a primary source: GitGuardian found 4,576 unique n8n API tokens leaked in public GitHub commits across 1,255 hostnames — and of the 896 instances they could reach, 321 accepted a leaked token. More than 100,000 n8n instances are visible through Shodan. Researchers at Cyera disclosed "Ni8mare" (CVE-2026-21858, CVSS 10.0), an unauthenticated RCE chain that turned an arbitrary-file-read into full instance takeover — the payload reads the SQLite user database plus the encryption key from .n8n/config, forges an admin session, and runs arbitrary workflows. CISA added an n8n RCE to its Known Exploited Vulnerabilities catalog in March 2026. Separately, attackers abused trusted *.app.n8n.cloud webhook URLs for phishing at scale (mail volume up ~686% in a year), because email filters trust n8n’s subdomains.

To keep the balance the evidence itself provides: Cyera’s own writeup credits n8n’s security team with a strong posture and fast response, and the structural lesson isn’t "n8n is insecure" — it’s that n8n is a credential vault by function. It holds keys to every system you connect. A single sandbox escape exposes the instance and everything it touches (Pillar Security’s framing, after two further critical n8n CVEs in 2026: "n8n is a credential vault by function"). If you run it: keep it off the public internet unless you absolutely must, authenticate every webhook (Basic/Header/JWT — authentication is opt-in, and n8n’s own security-audit tool flags unprotected webhooks as a report category), treat the encryption key as crown-jewel material, patch weekly, and — if your threat model justifies it — put credentials in an external secrets store (Vault, AWS Secrets Manager — an Enterprise feature).

n8n is a credential vault by function.

Who should pick what

The decision is about the shape of your work, not about which tool is "best":

The pragmatic pattern I keep landing on: n8n as the body, code-first agents as the brain where needed. The workflow handles ingestion, routing, retries, human gates, and delivery; the hard reasoning runs in a sub-agent the workflow calls. You get the orchestration for free and keep full control exactly where it earns its keep.

The bottom line

n8n is the rare automation platform whose architecture, license, and business model all point the same direction: own the middle ground between pure-AI autonomy and pure hand-coded routing, then win on deployment flexibility. It is not open source — it’s fair-code, on purpose, and the distinction carries real restrictions you should understand before building a business on it. It is genuinely excellent at the unglamorous layer where AI agents meet production: triggers, tools, memory, retries, error paths, humans-in-the-loop. And it is a serious operational commitment: Postgres, queue mode, weekly patches, a credential vault worth defending.

Two hundred thousand GitHub stars don’t make a platform right for you. But if your automations have outgrown per-task billing, if your data has a residency requirement, or if your agents keep dying in the gap between "the demo worked" and "this runs in production" — that is exactly the gap n8n was built to close.


Go deeper / Sources

Every load-bearing claim above traces to a page fetched during research (September 27, 2026). Primary sources:

Second-order context (not primary, used only as corroboration): Wikipedia’s n8n entry (license history, SAP investment reporting).