Connect apps and APIs through visual workflows using nodes that exchange data and trigger actions automatically. Build sequences without coding, then extend them with JavaScript or Python when needed—all while keeping your data self-hosted and under your control.
n8n (pronounced "n-eight-n", short for "nodemation") is an open-source workflow automation platform. It lets you connect apps, APIs, and services together so that they can exchange data and trigger actions automatically — without you having to write a full application from scratch. Think of it as a visual programming environment where the "programs" you write are sequences of connected steps, and each step does one specific thing: fetch data from a URL, send an email, write a row to a spreadsheet, or transform a piece of text.
If you have used tools like Zapier or Make (formerly Integromat), n8n occupies the same conceptual space. The key differentiators are:
Everything in n8n is built around two concepts: workflows and nodes.
A workflow is a directed graph — a set of steps connected by arrows that define the order in which data flows. You build workflows visually in the n8n editor by placing nodes on a canvas and drawing connections between them.
A node is a single unit of work inside a workflow. Every node has:
A minimal n8n workflow: a trigger node starts the process, action nodes do the work, and data flows left to right as JSON items.
n8n ships with hundreds of built-in nodes. They fall into a few broad families:
| Family | Purpose | Examples |
|---|---|---|
| Trigger nodes | Start a workflow in response to an event | Schedule, Webhook, Email Trigger |
| App / service nodes | Interact with a specific external platform | Gmail, Slack, Airtable, GitHub |
| Core / utility nodes | General-purpose data manipulation | IF, Switch, Merge, Set, Code |
| Flow nodes | Control execution branching and looping | IF, Switch, Loop Over Items |
When no dedicated node exists for a service, the HTTP Request node can call any REST API directly.
Data in n8n is always represented as a list of items. Each item is a JSON object with a json key containing your actual data. For example, after calling an API that returns a list of customers, n8n represents this as:
Each node receives the full list, processes it (often item-by-item), and outputs a new list. This design makes it natural to work with bulk data — one workflow execution can process thousands of records in a single run.
You reference data from previous nodes using expressions, written with double curly braces:
{{ $json.name }}
{{ $node["HTTP Request"].json.status }}
A workflow must have a starting point. n8n supports several trigger mechanisms:
Connecting to external services requires authentication — API keys, OAuth tokens, username/password pairs, and so on. n8n stores these as credentials, which are encrypted and reusable across workflows. You configure a credential once and then select it inside any node that needs it, rather than pasting secrets directly into node parameters.
When you open the n8n web interface, you interact with three main areas:
n8n's expression language lets you reference and transform data inline using JavaScript syntax wrapped in {{ }}. For more complex logic — conditionals, loops, custom calculations — the Code node lets you write full JavaScript (or Python) that runs inside the workflow, receiving items as input and returning transformed items as output.
n8n can be used in two ways:
For most learners, starting with n8n Cloud or a local Docker installation is the fastest path to building your first workflows.
The diagram below summarises the relationships between the major concepts:
Key concepts in n8n and how they relate: workflows contain nodes; nodes consume and produce items; credentials, expressions, and the execution log support the process.
Automation removes repetitive manual work. Instead of copying data from one app to another, checking a form response and sending a follow-up email, or polling an API every hour and logging results, you describe the process once in n8n and it runs automatically — reliably, on schedule, at any scale your server can handle. n8n is a practical tool that rewards incremental learning: you can automate something useful on day one with a two-node workflow, and keep adding sophistication as you grow more comfortable.