n8n Workflow-Automatisierung: Self-Hosted Alternative zu Zapier (2026)

n8n ist die Open-Source-Plattform zur Workflow-Automatisierung, die sich schnell zur bevorzugten Alternative zu Zapier und Make entwickelt. Mit Self-Hosting-Moglichkeiten, einem visuellen Workflow-Builder und uber 400 Integrationen gibt n8n Entwicklern die volle Kontrolle uber ihre Automatisierungsinfrastruktur. Dieser Leitfaden behandelt alles von der Einrichtung bis zu fortgeschrittenen Workflow-Mustern.

Was ist n8n?

n8n (ausgesprochen "n-acht-n") ist ein Fair-Code-lizenziertes Workflow-Automatisierungstool. Im Gegensatz zu SaaS-Alternativen konnen Sie n8n selbst hosten, was Ihnen vollstandige Datensicherheit und unbegrenzte Ausfuhrungen ermoglicht.

Hauptfunktionen:

  • Visueller Workflow-Builder: Drag-and-Drop-Oberflache zur Erstellung von Automatisierungen
  • Uber 400 Integrationen: Vorgefertigte Nodes fur beliebte Dienste
  • Self-Hosting: Betrieb auf der eigenen Infrastruktur
  • Code bei Bedarf: JavaScript/Python-Nodes fur benutzerdefinierte Logik
  • Fair-Code-Lizenz: Kostenlos nutzbar, Quellcode verfugbar

Erste Schritte

Installationsoptionen

# Docker (recommended for production)
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

# npm (for development)
npm install n8n -g
n8n start

# Docker Compose (with PostgreSQL)
# See docker-compose.yml below

Docker Compose Einrichtung

version: '3.8'
services:
  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=secure_password
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n_password
      - N8N_ENCRYPTION_KEY=your-encryption-key
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres

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

volumes:
  n8n_data:
  postgres_data:

Kernkonzepte

Workflows

Ein Workflow ist eine Sammlung von miteinander verbundenen Nodes. Jeder Workflow beginnt mit einem Trigger-Node und fließt durch Action-Nodes.

Nodes

Nodes sind die Bausteine von Workflows:

  • Trigger-Nodes: Starten die Workflow-Ausfuhrung (Webhooks, Zeitplane, App-Events)
  • Action-Nodes: Fuhren Operationen aus (API-Aufrufe, Datentransformation, Benachrichtigungen)
  • Logic-Nodes: Steuern den Ablauf (IF, Switch, Merge, Split)

Ausfuhrungen

Jedes Mal, wenn ein Workflow ausgefuhrt wird, wird eine Ausfuhrung erstellt. Sie konnen den Ausfuhrungsverlauf einsehen, Fehler debuggen und fehlgeschlagene Laufe erneut starten.

Ihren ersten Workflow erstellen

Beispiel: Slack-Benachrichtigung bei GitHub-Issues

Dieser Workflow sendet eine Slack-Nachricht, wenn ein neues GitHub-Issue erstellt wird:

{
  "nodes": [
    {
      "name": "GitHub Trigger",
      "type": "n8n-nodes-base.githubTrigger",
      "parameters": {
        "owner": "your-org",
        "repository": "your-repo",
        "events": ["issues"]
      }
    },
    {
      "name": "Filter New Issues",
      "type": "n8n-nodes-base.if",
      "parameters": {
        "conditions": {
          "string": [{
            "value1": "={{$json.action}}",
            "value2": "opened"
          }]
        }
      }
    },
    {
      "name": "Send Slack Message",
      "type": "n8n-nodes-base.slack",
      "parameters": {
        "channel": "#github-notifications",
        "text": "New issue: {{$json.issue.title}}\n{{$json.issue.html_url}}"
      }
    }
  ]
}

Fortgeschrittene Muster

Code-Nodes verwenden

Wenn vorgefertigte Nodes nicht ausreichen, verwenden Sie JavaScript:

// Code node example: Transform API response
const items = $input.all();
const transformed = items.map(item => {
  return {
    json: {
      id: item.json.id,
      name: item.json.name.toUpperCase(),
      createdAt: new Date(item.json.created_at).toISOString(),
      isActive: item.json.status === 'active'
    }
  };
});

return transformed;

HTTP-Request-Node

Rufen Sie beliebige APIs mit dem HTTP-Request-Node auf:

// HTTP Request configuration
{
  "method": "POST",
  "url": "https://api.example.com/data",
  "authentication": "genericCredentialType",
  "headers": {
    "Content-Type": "application/json"
  },
  "body": {
    "name": "={{$json.name}}",
    "email": "={{$json.email}}"
  }
}

Fehlerbehandlung

// Error Trigger workflow
// Create a separate workflow that triggers on errors

// In your main workflow, use the Error Trigger node
// It receives: workflow name, execution ID, error message

// Example: Send error to Discord
{
  "nodes": [
    {
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger"
    },
    {
      "name": "Discord Notification",
      "type": "n8n-nodes-base.discord",
      "parameters": {
        "content": "Workflow failed: {{$json.workflow.name}}\nError: {{$json.execution.error.message}}"
      }
    }
  ]
}

Schleifen und Stapelverarbeitung

// Split In Batches node for processing large datasets
// Processes items in configurable batch sizes

// Example: Process 100 items, 10 at a time
{
  "name": "Split In Batches",
  "type": "n8n-nodes-base.splitInBatches",
  "parameters": {
    "batchSize": 10
  }
}

// Loop back to process next batch
// Connect the "done" output to continue workflow
// Connect the "loop" output back to processing nodes

Beliebte Integrationen

Datenbankoperationen

-- PostgreSQL node example
SELECT * FROM users
WHERE created_at > '{{$json.startDate}}'
AND status = 'active'
ORDER BY created_at DESC
LIMIT 100;

KI/LLM-Integration

// OpenAI node configuration
{
  "resource": "chat",
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "={{$json.userMessage}}"
    }
  ],
  "temperature": 0.7
}

Webhook-Endpunkte

// Webhook trigger creates an endpoint like:
// https://your-n8n.com/webhook/abc123

// Respond with custom data
{
  "name": "Respond to Webhook",
  "type": "n8n-nodes-base.respondToWebhook",
  "parameters": {
    "responseBody": "={{JSON.stringify($json)}}",
    "responseCode": 200
  }
}

Anmeldedatenverwaltung

n8n speichert API-Schlussel und Tokens sicher:

// Credentials are referenced by name, not exposed in workflow
{
  "credentials": {
    "slackApi": {
      "name": "My Slack Token"
    }
  }
}

// Environment variables for sensitive data
// Set in docker-compose or .env file
N8N_ENCRYPTION_KEY=your-32-char-encryption-key
GENERIC_API_KEY=your-api-key

Produktionsbereitstellung

n8n skalieren

  • Queue-Modus: Trennung der Hauptinstanz von Workern fur Hochvolumen-Verarbeitung
  • PostgreSQL: Verwenden Sie PostgreSQL anstelle von SQLite fur die Produktion
  • Redis: Erforderlich fur die Skalierung im Queue-Modus
# Queue mode configuration
environment:
  - EXECUTIONS_MODE=queue
  - QUEUE_BULL_REDIS_HOST=redis
  - QUEUE_BULL_REDIS_PORT=6379

Uberwachung

// n8n exposes metrics at /metrics endpoint
// Configure Prometheus scraping

// Key metrics:
// - n8n_workflow_executions_total
// - n8n_workflow_execution_duration_seconds
// - n8n_active_workflows

n8n im Vergleich zu Alternativen

Funktionn8nZapierMake
Self-HostingJaNeinNein
PreiseKostenlos (selbst gehostet)$19,99+/Monat$9+/Monat
Code-NodesJavaScript, PythonBegrenztBegrenzt
Integrationen400+6000+1500+
Open SourceFair-CodeNeinNein
DatenschutzVolle KontrolleNur CloudNur Cloud

Haufige Anwendungsfalle

DevOps-Automatisierung

  • CI/CD-Benachrichtigungen an Slack/Discord
  • Incident-Management (PagerDuty, Opsgenie)
  • Infrastruktur-Uberwachungsalarme

Datenpipelines

  • ETL von APIs zu Datenbanken
  • Berichtserstellung und -verteilung
  • Datensynchronisation zwischen Diensten

Geschaftsautomatisierung

  • CRM-Updates aus Formularubermittlungen
  • Rechnungserstellung und -versand
  • Kunden-Onboarding-Sequenzen

Best Practices

  1. Sub-Workflows verwenden: Komplexe Automatisierungen in wiederverwendbare Teile aufteilen
  2. Fehler behandeln: Immer Fehlerbehandlungs-Workflows hinzufugen
  3. Inkrementell testen: Die manuelle Ausfuhrungsfunktion nutzen, um Node fur Node zu testen
  4. Versionskontrolle: Workflows als JSON exportieren und in Git speichern
  5. Dokumentieren: Sticky Notes verwenden, um die Workflow-Logik zu erklaren
  6. Anmeldedaten sichern: Den integrierten Anmeldedatenspeicher verwenden, niemals Geheimnisse hardcoden

Fazit

n8n bietet eine leistungsstarke, selbst hostbare Workflow-Automatisierungsplattform, die Entwicklern die volle Kontrolle uber ihre Integrationen gibt. Mit seinem visuellen Builder, der umfangreichen Node-Bibliothek und der Code-Flexibilitat ist es ideal fur Teams, die Automatisierung ohne Herstellerbindung oder Preis pro Ausfuhrung benotigen. Beginnen Sie mit einfachen Workflows und bauen Sie schrittweise komplexere Automatisierungen auf, wahrend Sie die Plattform kennenlernen.