Zum Hauptinhalt springen
4 Min. Lesedauer

n8n-Webhook-Trigger

Leiten Sie Zenovay-Ereignisse an n8n weiter — das Open-Source-Workflow-Tool — und routen Sie sie überall hin, wo n8n integriert: Postgres, Redis, GitHub, Notion, Ihre eigene HTTP-API, benutzerdefiniertes JavaScript.

n8ns Webhook-Node fängt Zenovay-Ereignisse ab. Funktioniert gleich auf selbst-gehostetem n8n und n8n Cloud.

Ausgehende Webhooks sind eine Zenovay Pro+-Funktion. Aktualisieren Sie Ihren Plan, um sie zu aktivieren.


1. Den n8n-Workflow erstellen

  1. Erstellen Sie in n8n einen neuen Workflow.
  2. Fügen Sie den Webhook-Node als Trigger hinzu:
    • HTTP Method: POST
    • Path: Wählen Sie etwas Beschreibendes, z. B. zenovay-events
    • Authentication: vorerst None lassen (wir fügen die HMAC-Verifizierung in Schritt 4 hinzu)
    • Respond: Immediately (der Response-Body ist für Zenovay nicht relevant; wir benötigen nur ein 2xx)
  3. Klicken Sie auf Listen for test event oben im Panel.
  4. Kopieren Sie die Test URL, die n8n anzeigt (z. B. https://your-n8n-host.com/webhook-test/zenovay-events). Lassen Sie dies geöffnet — Sie benötigen es in Schritt 2.

2. Den Webhook in Zenovay hinzufügen

  1. Gehen Sie in app.zenovay.com zu Settings → Webhooks.
  2. Wählen Sie die Website, die Ereignisse senden soll.
  3. Klicken Sie auf Add webhook.
  4. Füllen Sie aus:
    • Name: n8n — <was der Flow tut> (z. B. n8n — Save to Postgres)
    • URL: Fügen Sie die n8n Test-URL aus Schritt 1 ein
    • Events: Wählen Sie, worauf der Flow reagieren soll
  5. Klicken Sie auf Create webhook.
  6. Klicken Sie auf Send test event (Papierflugzeug-Symbol).

n8n sollte jetzt das erfasste Ereignis im Webhook-Node anzeigen. Klicken Sie auf Use captured event, um es als Beispiel-Payload für den Rest des Workflows zu verwenden.


3. Von Test-URL auf Produktions-URL wechseln

n8n unterscheidet Test-URLs (feuern nur, wenn Sie auf "Listen" klicken) von Produktions-URLs (immer aktiv).

  1. Sobald Ihr Workflow erstellt und getestet ist, klicken Sie auf Activate (oben rechts).
  2. n8n zeigt eine Produktions-URL — meist identisch mit der Test-URL, aber ohne -test (z. B. https://your-n8n-host.com/webhook/zenovay-events).
  3. Bearbeiten Sie in Zenovays Webhook-Einstellungen den Webhook und ersetzen Sie die Test-URL durch die Produktions-URL.
  4. Senden Sie ein weiteres Test-Ereignis, um zu bestätigen, dass es ankommt.

4. Zenovays Signatur in n8n verifizieren

Für Produktionszuverlässigkeit verifizieren Sie die HMAC-SHA256-Signatur, damit nur echte Zenovay-Ereignisse Ihren Flow auslösen.

Fügen Sie einen Function-Node direkt nach dem Webhook-Node hinzu:

const crypto = require('crypto');

const signature = $input.item.json.headers['x-zenovay-signature'] || '';
const provided = signature.replace(/^sha256=/, '');
const rawBody = JSON.stringify($input.item.json.body);
const expected = crypto.createHmac('sha256', $env.ZENOVAY_WEBHOOK_SECRET)
  .update(rawBody)
  .digest('hex');

if (provided !== expected) {
  throw new Error('Invalid Zenovay signature');
}

return $input.item;

Legen Sie ZENOVAY_WEBHOOK_SECRET als n8n-Umgebungsvariable fest (Settings → Variables) mit dem Secret aus Settings → Webhooks → klicken Sie auf das Auge-Symbol auf der Webhook-Karte in Zenovay.

Die Signatur wird über den rohen Request-Body berechnet, nicht über das geparste JSON. n8n serialisiert den Body für Sie in $input.item.json.body, aber wenn Ihre n8n-Version die Schlüssel neu anordnet, erhalten Sie möglicherweise falsch-negative Verifizierungen. Wenn das passiert, setzen Sie den Webhook-Node-"Response"-Modus auf "Use response code from previous node" und lesen Sie den rohen Body über $input.item.binary.body.data.


5. Häufige Workflow-Rezepte

Triggern8n-Flow
goal_completedPostgres → INSERT in revenue_events
traffic_spikeSlack-Node → Direktnachricht an die bereitschaftshabende Person
website_downGitHub Issues → Dringendes Issue erstellen + Labels zuweisen
error_spikeSentry-Node → Release taggen + #engineering in Discord benachrichtigen

Fehlerbehebung

  • n8n zeigt das Test-Ereignis, aber die Produktions-URL feuert nicht: Der Workflow ist nicht aktiviert. Klicken Sie auf den Active-Umschalter (oben rechts) — er muss grün sein.
  • HMAC-Verifizierung schlägt fehl: Bestätigen Sie, dass Sie das richtige Webhook-Secret kopiert haben. Das Secret ist pro Webhook, nicht pro Account.
  • n8n läuft in einen Timeout: Der Standard-Response-Modus Immediately des Webhook-Nodes gibt sofort 200 zurück — Zenovay wertet das als Erfolg. Wenn Sie When Last Node Finishes einstellen, kann der lange Flow Zenovays 5-Sekunden-Liefertimeout überschreiten (nachfolgende Wiederholungsversuche werden durch den 6-Stunden-Cron ausgelöst).

Verwandtes

War diese Seite hilfreich?