Why n8n?

Zapier charges per task. Make charges per operation. n8n self-hosted is unlimited:

  • 400+ integrations — Gmail, Slack, Notion, GitHub, Airtable, databases, and more.
  • Visual workflow builder — Drag, drop, connect nodes.
  • Custom code — JavaScript/Python nodes for complex logic.
  • No per-execution costs — Unlimited workflows, unlimited runs.
  • Self-hosted — Your data never leaves your server.

Prerequisites

  • Docker on any Linux server.
  • At least 512 MB RAM.

Step 1: Deploy with Docker

docker run -d \
  --name n8n \
  --restart=always \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=changeme \
  -e WEBHOOK_URL=https://n8n.example.com/ \
  n8nio/n8n

Access at http://your-server:5678.


Step 2: Build a Workflow

A workflow consists of trigger → process → action:

[Webhook Received] → [Extract Data] → [Send to Slack] → [Log to Google Sheets]

Example: Server Alert Pipeline

  1. Trigger: Webhook (receives alert from Uptime Kuma)
  2. IF node: Check if status is “down”
  3. Slack node: Post alert to #incidents channel
  4. Ntfy node: Send push notification to phone
  5. Google Sheets node: Log incident with timestamp

Step 3: Common Automation Recipes

RecipeTriggerActions
Lead captureForm webhook→ CRM + Welcome email
Server monitoringUptime Kuma webhook→ Slack + Ntfy + Log
Content publishingRSS feed→ Format + Twitter + LinkedIn
Invoice processingEmail (IMAP)→ Extract PDF + Accounting API
Database syncSchedule (hourly)→ Query DB + Update Airtable
CI/CD notificationsGitHub webhook→ Build status → Slack

n8n vs Zapier vs Make

Featuren8n (self-hosted)ZapierMake
CostFree (unlimited)$20+/mo (limited tasks)$9+/mo (limited ops)
Integrations400+6000+1500+
Custom codeJavaScript + PythonLimitedLimited
Self-hostedYesNoNo
Error handlingAdvanced branchingBasic retryBasic retry
Best forDevelopers, power usersNon-technical usersMid-range

Troubleshooting

ProblemSolution
Webhook not receiving dataVerify WEBHOOK_URL env var matches your domain; check firewall for port 5678
Credential connection failedCheck API keys/tokens in the credential settings; test with curl first
Workflow runs but no outputCheck node execution order; enable “Always Output Data” on IF nodes
High memory usageLimit concurrent executions: EXECUTIONS_PROCESS=main and EXECUTIONS_TIMEOUT=60

Summary

  • Visual workflow builder connects 400+ apps without code.
  • Custom code nodes (JS/Python) for anything integrations don’t cover.
  • No per-execution pricing — unlimited self-hosted workflows.
  • Integrates with the self-hosted ecosystem (Uptime Kuma, Ntfy, Gitea).