Zum Inhalt springen

n8n Integration

Mit n8n kannst du bevorstehende Abfuhrtermine automatisiert weiterverarbeiten – etwa für Push-Benachrichtigungen, Slack- oder Matrix-Nachrichten, Smart-Home-Aktionen oder eigene Workflows. Die Integration funktioniert über den Webhook-Mechanismus von müll.io: müll.io sendet täglich um 18:00 Uhr einen HTTP-POST an deinen n8n-Workflow, wenn eine Abfuhr in der konfigurierten Anzahl von Tagen bevorsteht.


1. API-Key anlegen

Um Webhooks anlegen zu können, benötigst du zunächst einen API-Key.

Kostenlos API-Key anfordern


2. Webhook-Trigger in n8n anlegen

Füge in deinem n8n-Workflow als ersten Knoten einen Webhook-Trigger-Knoten hinzu:

Aktiviere den Workflow (oben rechts „Active" einschalten), damit n8n die eingehende URL bereitstellt. Die vollständige Webhook-URL hat die Form:

https://<deine-n8n-instanz>/webhook/muell-abfuhr

3. Webhook bei müll.io registrieren

Registriere die n8n-Webhook-URL über die müll.io API:

curl -X POST https://müll.io/api/webhook \
  -H "Authorization: API-KEY <dein-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://<deine-n8n-instanz>/webhook/muell-abfuhr",
    "daysBeforeCollection": 1,
    "street": "Musterstraße",
    "houseNumber": "1a",
    "zip": "12345",
    "city": "Musterstadt",
    "country": "DE"
  }'

Die Antwort enthält ein secret, das du für die optionale Signaturprüfung benötigst.


4. Payload verarbeiten

Wenn eine Abfuhr bevorsteht, sendet müll.io einen POST mit folgendem Body an deinen n8n-Webhook:

{
  "event": "upcoming_collection",
  "sent_at": "2024-01-14T18:00:00+00:00",
  "days_until": 1,
  "address": {
    "street": "Musterstraße",
    "houseNumber": "1a",
    "zip": "12345",
    "city": "Musterstadt",
    "country": "DE"
  },
  "collections": [
    { "type": "Restmüll", "date": "2024-01-15" },
    { "type": "Papier",   "date": "2024-01-15" }
  ]
}

In n8n stehen die Felder direkt über den Webhook-Knoten zur Verfügung, z. B. {{ $json.collections[0].type }}. Verbinde danach beliebige Aktionsknoten – etwa Send Email, Slack, Telegram, ntfy oder einen HTTP Request-Knoten für eigene Systeme.


5. Optional: Signaturprüfung

Jeder eingehende Request enthält den Header X-Muell-Signature: sha256=<hmac>. Um sicherzustellen, dass der Request tatsächlich von müll.io stammt, kannst du in n8n einen Code-Knoten vor deinen Aktionen schalten und die Signatur prüfen:

const crypto = require('crypto');
const secret = '<dein-webhook-secret>';
const body = JSON.stringify($input.first().json);
const sig = $input.first().headers['x-muell-signature'];
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(body).digest('hex');
if (sig !== expected) throw new Error('Invalid signature');
return $input.all();

Weitere Details zur vollständigen Webhook-API findest du in der Webhook-Integrationsdokumentation.


← Übersicht der Integrationen  ·  Vollständige API-Dokumentation