DEV Community

Cover image for n8n: Open-Source Workflow Automation with AI Agents and 400+ Integrations
toolfreebie
toolfreebie

Posted on • Originally published at toolfreebie.com

n8n: Open-Source Workflow Automation with AI Agents and 400+ Integrations

What Is n8n?

n8n (pronounced “nodemation”) is a free, open-source workflow automation platform that lets you connect apps, APIs, and services without writing code — or with code when you need full control. It’s the self-hosted alternative to Zapier and Make.com, and unlike those platforms, n8n has no per-task fees when you run it yourself.

With over 400 built-in integrations, a visual node editor, and native AI agent support, n8n has become the go-to automation tool for developers and technical teams who want the power of Zapier without the pricing ceiling. As of 2026, n8n has 50,000+ GitHub stars and is one of the most deployed self-hosted automation tools in the world.

n8n Pricing: Free Self-Hosted vs Cloud

Option Price Executions Best For
Self-hosted (Community) Free forever Unlimited Developers with a VPS or Docker
n8n Cloud Starter ~$20/month 2,500 executions/month No-maintenance cloud option
n8n Cloud Pro ~$50/month 10,000 executions/month Teams needing more volume
Enterprise Custom Unlimited Large-scale organizations

The self-hosted Community edition is completely free — no executions cap, no feature limits, no credit card. You just need a server to run it on. A cheap VPS (like Oracle Cloud’s free ARM instance) is enough to run n8n for dozens of workflows.

Getting Started: Run n8n with Docker

The fastest way to run n8n locally or on a VPS is with Docker:

# Run n8n with Docker (data persists in local volume)
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:5678 in your browser. On first launch, n8n asks you to create an owner account. That’s it — your workflow editor is ready.

For production deployment with auto-restart:

# docker-compose.yml
version: '3.8'

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=yourpassword
      - WEBHOOK_URL=https://your-domain.com/
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
Enter fullscreen mode Exit fullscreen mode
# Start in background
docker compose up -d

# Check logs
docker compose logs -f n8n
Enter fullscreen mode Exit fullscreen mode

For HTTPS, put n8n behind an Nginx reverse proxy or use Caddy, which handles SSL certificates automatically.

Install via npm (No Docker Required)

If you prefer a direct installation without Docker:

# Install n8n globally
npm install n8n -g

# Start n8n
n8n start

# Or run as a background process
n8n start &
Enter fullscreen mode Exit fullscreen mode

n8n requires Node.js 18+ and runs on Linux, macOS, and Windows.

Key Features

400+ Built-In Integrations

n8n ships with native nodes for virtually every popular service: Google Sheets, Slack, GitHub, Airtable, Notion, PostgreSQL, MySQL, Stripe, Shopify, HubSpot, Telegram, Discord, and hundreds more. Each node is pre-configured with authentication and common operations — no API documentation hunting required.

HTTP Request Node: Connect to Any API

For services without a dedicated node, the HTTP Request node handles any REST API with support for OAuth, API keys, and custom headers:

# Example: Call a custom API in n8n HTTP Request node
Method: POST
URL: https://api.example.com/v1/data
Authentication: Header Auth
Header Name: Authorization
Header Value: Bearer your-api-key

Body (JSON):
{
  "query": "{{ $json.input }}",
  "limit": 10
}
Enter fullscreen mode Exit fullscreen mode

Code Node: Write JavaScript or Python

When visual nodes aren’t enough, the Code node lets you write JavaScript or Python directly inside your workflow:

// n8n Code node — process incoming data
const items = $input.all();

return items.map(item => {
  const data = item.json;
  return {
    json: {
      id: data.id,
      name: data.name.toUpperCase(),
      processedAt: new Date().toISOString(),
      score: data.value * 1.15
    }
  };
});
Enter fullscreen mode Exit fullscreen mode

Webhook Triggers

n8n generates webhook URLs you can use to trigger workflows from external services. Set up a webhook trigger, copy the URL, and point any service at it:

# Example: Trigger n8n workflow via curl
curl -X POST https://your-n8n.com/webhook/your-workflow-id \
  -H "Content-Type: application/json" \
  -d '{"event": "new_order", "order_id": "12345", "amount": 99.99}'
Enter fullscreen mode Exit fullscreen mode

Schedule Trigger

Run workflows on a schedule using cron syntax. This is useful for daily reports, data syncing, or regular API calls — all without a separate cron server:

/* Schedule examples in n8n:
   Every day at 9 AM:   0 9 * * *
   Every hour:          0 * * * *
   Every 15 minutes:    */15 * * * *
   Every weekday:       0 9 * * 1-5
*/
Enter fullscreen mode Exit fullscreen mode

n8n AI Agent Nodes

n8n added native AI support with dedicated nodes for LLMs, memory, and tool use. You can build AI agents without writing a single line of Python:

  • AI Agent node: Define a task in plain English, attach tools (web search, database queries, API calls), and the agent handles the reasoning loop
  • Chat Trigger: Build a chatbot interface connected to any LLM
  • LLM node: Send prompts to OpenAI, Anthropic, Groq, Mistral, or Ollama
  • Memory nodes: Window buffer memory, vector store memory for long context
  • Embeddings + Vector Store: Connect Pinecone, Qdrant, or Supabase for RAG workflows

Example AI agent workflow: a Telegram bot receives a message → AI Agent node processes it using a Groq LLM → the agent can search the web, query your database, or send emails → response goes back to Telegram. The entire pipeline is built visually, no code required.

Use n8n with OpenClaw for Advanced AI Orchestration

For teams that need even more sophisticated AI automation, combining n8n with OpenClaw creates a powerful dual-layer system. n8n handles the workflow orchestration — scheduling, triggers, data transformation, and service integrations — while OpenClaw manages complex AI agent tasks like multi-step reasoning, tool use, and research automation.

A typical integration pattern:

// n8n HTTP Request node calling OpenClaw API
// Trigger: Webhook from your app
// Step 1: Collect and format input data
// Step 2: Call OpenClaw for AI processing
// Step 3: Send results to Slack, database, or email

// In n8n Code node — build the OpenClaw payload
const inputData = $input.first().json;

return [{
  json: {
    task: `Analyze this customer feedback and categorize it: ${inputData.feedback}`,
    context: {
      customer_id: inputData.customer_id,
      product: inputData.product
    }
  }
}];

// Then in HTTP Request node:
// POST https://api.openclaw.ai/v1/run
// Body: {{ $json }}
Enter fullscreen mode Exit fullscreen mode

This pattern works well for customer support automation, content moderation, data enrichment pipelines, and any task that combines structured workflows with unstructured AI reasoning.

n8n vs Zapier vs Make.com

Feature n8n (self-hosted) Zapier Make.com
Price Free (self-hosted) From $19.99/month From $9/month
Executions limit Unlimited 100-750/month (free) 1,000 ops/month (free)
Integrations 400+ native 6,000+ 1,500+
Custom code Yes (JS + Python) Yes (JS only, paid) Limited
AI Agent nodes Native (built-in) Limited (AI actions) Limited
Self-hostable Yes (open source) No No
Data privacy Full (your server) Zapier’s cloud Make’s cloud
Webhook support Yes (unlimited) Yes (paid plans) Yes
Database nodes Yes (Postgres, MySQL, etc.) Limited Yes
Best for Developers, privacy-conscious teams Non-technical users, breadth Complex visual workflows

The key trade-off: Zapier has far more integrations (6,000+ vs 400+), which matters if your app of choice doesn’t have an n8n node. But n8n’s HTTP Request node fills most gaps, and for any technical team, n8n’s self-hosting + unlimited executions + code nodes make it the clear winner on value.

Real-World n8n Workflow Examples

1. GitHub Issue to Slack Notifier

Trigger → When a GitHub issue is created or updated → Filter by label → Send a formatted Slack message to your team channel. Took about 5 minutes to build, no code needed.

2. Daily Report from PostgreSQL to Email

/* Workflow:
   1. Schedule Trigger (every day at 8 AM)
   2. PostgreSQL node: SELECT summary stats
   3. Code node: Format data into HTML table
   4. Gmail/SMTP node: Send report email
*/

// Code node — build HTML report
const rows = $input.all();
const tableRows = rows.map(row => `
  <tr>
    <td>${row.json.date}</td>
    <td>${row.json.orders}</td>
    <td>${row.json.revenue}</td>
  </tr>
`).join('');

return [{ json: { html: `<table>${tableRows}</table>` } }];
Enter fullscreen mode Exit fullscreen mode

3. AI-Powered Content Moderation

Webhook receives user submission → LLM node analyzes content for policy violations → If flagged, create a Notion task for manual review + notify moderators via Telegram → If clean, auto-approve and store in database.

n8n Deployment Tips

  • Use PostgreSQL as the database: By default n8n uses SQLite. Switch to PostgreSQL for better performance and reliability in production
  • Set up a reverse proxy: Use Nginx or Caddy to serve n8n on port 443 with HTTPS
  • Enable basic auth or use n8n’s built-in user management: Don’t expose n8n to the internet without authentication
  • Back up /home/node/.n8n: This directory contains all your workflows and credentials
  • Use environment variables for secrets: Store API keys as n8n credentials, not hardcoded in workflows
# Production n8n with PostgreSQL
# docker-compose.yml

version: '3.8'

services:
  postgres:
    image: postgres:15
    restart: always
    environment:
      POSTGRES_DB: n8n
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: n8n_password
    volumes:
      - postgres_data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n_password
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=securepassword
      - WEBHOOK_URL=https://n8n.yourdomain.com/
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres

volumes:
  postgres_data:
  n8n_data:
Enter fullscreen mode Exit fullscreen mode

When to Use n8n

n8n is the right choice when:

  • You want unlimited workflow executions without per-task fees
  • You need data to stay on your own server (compliance, GDPR, privacy)
  • You want to write custom code inside your automation workflows
  • You’re building AI agent pipelines with multiple LLM steps
  • You need direct database access (Postgres, MySQL, MongoDB) inside workflows
  • You’re already running a VPS and want to add automation without paying for SaaS

Consider Zapier or Make.com when:

  • You need a specific integration that n8n doesn’t support natively
  • You have no technical resources to maintain a self-hosted server
  • You need a truly no-code solution for non-developers to manage

Related Reads

Final Verdict

n8n is the most powerful free automation tool available for developers and technical teams in 2026. The combination of unlimited self-hosted executions, 400+ integrations, native AI agent nodes, and full JavaScript/Python code support makes it vastly more capable than what Zapier’s free tier offers — and cheaper than Zapier’s paid tiers at scale.

If you have a server (even a free Oracle Cloud ARM instance), n8n running on Docker will cost you nothing and automate more than you’d expect. Start with the Docker one-liner, build your first workflow in under 10 minutes, and never pay per-task fees again.


Originally published at toolfreebie.com.

Top comments (0)