AutomationTools & Platforms

What Is n8n? How to Choose Between Cloud and Self-Hosted — Setup & Operations Guide

Learn what n8n is, when to choose Cloud vs self-hosted Docker, and how to avoid webhook URL, persistence, and security pitfalls in production.

Ibuki Yamamoto
Ibuki Yamamoto
June 12, 2026 3min read

n8n (pronounced “en-eight-en”) is a workflow automation platform that connects SaaS products and APIs to run repeatable operations automatically. It’s easy to start with a no-code, node-based editor, but it also supports webhooks, HTTP calls, and code execution—so you can treat it as a lightweight integration layer that holds up in real operations.

This guide is conclusion-first: what n8n is best at, how to choose between n8n Cloud vs self-hosting, and the most common production pitfalls (webhook URLs, persistence, and security).

What You’ll Learn
  • What n8n is, and the automation patterns it’s best suited for
  • How to choose between n8n Cloud and self-hosting (Docker), plus the fastest way to get running
  • Webhook gotchas (URL generation, collisions) and the minimum security baseline for internet-facing setups

n8n Overview

n8n is a node-based automation tool where you build workflows as a clear sequence: trigger (start condition) → processing (transform, branch, call APIs) → action (notify, create, update). You connect nodes with lines, which keeps complex automations readable. Compared to “SaaS connector-only” tools, n8n is more flexible because you can receive external events via webhooks and call virtually any API via raw HTTP requests.

Key takeaway
n8n isn’t just “automation.” It handles HTTP, webhooks, and credentials, which means it can function as a lightweight integration platform. That’s powerful—but if you expose it publicly, you need a real security plan.

What You Can Do with n8n

Common use cases

  • Send Slack/Teams notifications when a form is submitted or when a SaaS event fires
  • Auto-create CRM records or spreadsheet rows for new orders and inbound inquiries
  • Normalize webhook payloads and fan-out the cleaned data to multiple systems
  • Integrate a SaaS even without a dedicated node by calling its API over HTTP (auth, headers, JSON transforms)

Trigger workflows from external systems via webhooks

n8n’s Webhook node is a trigger node: when an external system sends an HTTP request to the webhook URL, n8n starts the workflow and makes the request data available inside it. The Webhook node supports standard HTTP methods, which lets you treat it like a simple API endpoint when needed.

The Webhook node works as a trigger. When the webhook URL is called, the data becomes available to your workflow (and it supports standard HTTP methods).

Connect to any API over HTTP

The HTTP Request node lets you call arbitrary REST APIs to fetch, create, or update data. This is one of n8n’s biggest advantages: even if there’s no official integration node for a service, you can still integrate it as long as it has an API.

n8n Cloud vs Self-Hosting: What’s Different

Dimension n8n Cloud Self-hosted
Initial setup Fast (create an account and start) You need Docker/DB/SSL and basic infrastructure setup
Operations Low operational overhead You own updates, monitoring, and backups
Security & governance Depends on vendor-managed controls You can design network controls and authentication to fit your environment
Cost model Typically tied to plan limits (for example, executions) Server costs + operational time (the best option depends on scale)

Note
Cloud pricing and execution limits can change as plans evolve. For any purchasing decision, confirm the latest details on the official n8n website.

Fastest Way to Get Started

Start n8n with Docker

For self-hosting, Docker is usually the quickest path. n8n’s official docs also recommend Docker for many self-hosted use cases and show a setup that persists data by mounting n8n_data to /home/node/.n8n.

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

Persistence comes first
Mount a Docker volume (or host directory) from day one so /home/node/.n8n persists across restarts. This directory is where critical state lives (database, encryption-related material, and configuration). A common failure pattern is “temporary test run” silently becoming production—then data disappears when the container is recreated.

Set the correct public webhook URL

If you run n8n behind a reverse proxy, n8n can’t always infer the externally reachable webhook URL correctly. In that case, you need to explicitly set the public webhook base URL. The official docs describe WEBHOOK_URL as the variable you use to manually set webhook URLs when running behind a reverse proxy, so n8n displays and registers the right URLs.

# docker-compose example (excerpt)
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    ports:
      - "5678:5678"
    environment:
      - N8N_PROTOCOL=https
      - N8N_HOST=example.com
      - WEBHOOK_URL=https://example.com/
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Operational Gotchas

Webhook collisions

In n8n, you can’t register multiple webhooks with the same “path + HTTP method” combination. If you reuse a path and method across workflows (or even within the same workflow), registration fails. This limitation is explicitly called out in n8n’s troubleshooting notes.

Minimum security baseline

If you self-host n8n and expose webhooks to the public internet, treat it like any other internet-facing integration service. At minimum, cover these three areas:

  • Restrict access to the admin UI (VPN, allowlisted IP ranges, or strong authentication in front of it)
  • Add authentication to webhooks (header-based secrets, signature verification, etc.)
  • Update regularly to keep up with known vulnerabilities

n8n’s documentation also provides an operational security overview (for example, account and instance hardening guidance) under “Securing n8n.”

Warning
Webhooks are convenient—but they also expand your attack surface. If you publish them, think in bundles: reachability controls (WAF/reverse proxy), authentication, and logging/monitoring should ship together.

Webhook authentication: which approach to choose

The right webhook auth depends on your integration partner and threat model. For simple internal integrations, a fixed secret in a custom header can be enough. If the external SaaS provides request signing (for example, HMAC-based signatures), prioritize signature verification—it’s usually safer than static secrets alone. n8n documents webhook-related credential/authentication options as well.

FAQ

Is n8n free?

If you self-host, the software itself can be used (you still pay infrastructure costs). n8n Cloud is managed hosting, so it requires a paid plan.

Can you use n8n for web scraping?

n8n is an automation platform, so you can build a workflow like “fetch a page over HTTP → extract/transform data → store it.” That said, web scraping needs careful design around the target site’s terms, rate limits, bot detection, and legal/compliance risk. High-frequency access and attempts to bypass access controls are especially risky.

Where should I start?

Pick one trigger and build something small: either “receive data via webhook” or “run on a schedule.” After that works, add the operational pieces—retry behavior, failure notifications, and execution logging—so your automation doesn’t break silently.

Summary

  • n8n automates operations by combining SaaS integrations with HTTP/API building blocks
  • For self-hosting, start with Docker and persistence; design webhook URL generation with environment variables
  • If you publish webhooks, assume “authentication + reachability control + updates” are non-negotiable

References

About the Author

Ibuki Yamamoto
Ibuki Yamamoto

Web scraping engineer with over 10 years of practical experience, having worked on numerous large-scale data collection projects. Specializes in Python and JavaScript, sharing practical scraping techniques in technical blogs.

Leave it to the
Data Collection Professionals

Our professional team with over 100 million data collection records annually solves all challenges including large-scale scraping and anti-bot measures.

100M+
Annual Data Collection
24/7
Uptime
High Quality
Data Quality