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.
2. Webhook-Trigger in n8n anlegen
Füge in deinem n8n-Workflow als ersten Knoten einen Webhook-Trigger-Knoten hinzu:
- HTTP Method:
POST - Path: frei wählbar, z. B.
muell-abfuhr - Authentication: kann leer bleiben – die Signaturprüfung erfolgt im nächsten Schritt
- Respond:
Immediately
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