Funktion
Zuuna und n8n verbinden: in beide Richtungen
n8n liest und schreibt Zuuna über die REST-API, Zuuna schickt signierte Webhooks zurück. Drei echte Richtungen, kein fertiger Node nötig.
Zuletzt aktualisiert:
n8n und Zuuna reden in beide Richtungen miteinander, über offene HTTP-Bausteine statt über einen fertigen Connector. Für die eine Richtung reicht ein API-Token, für die andere ein Webhook-Node in deinem Workflow.
Drei Richtungen, und alle drei sind echt
n8n zu Zuuna
Mit einem scoped Token legt dein Workflow Karten an, postet Kommentare und bucht Zeit, alles über den HTTP-Request-Node. Ein Bearer-Token im Header reicht, kein OAuth-Tanz.
POST https://app.zuuna.de/api/v1/boards/BOARD_ID/cards
Authorization: Bearer zk_live_...
Content-Type: application/json
{ "title": "New task", "idempotencyKey": "order-4711-card" }idempotencyKey ist frei wählbar. Läuft derselbe Workflow zweimal mit demselben Wert, kommt beim zweiten Mal die zuerst angelegte Karte zurück statt einer zweiten. Ein Retry im Workflow wird dadurch ungefährlich.
Zuuna zu n8n
Zuuna sendet signierte Webhooks an einen Webhook-Node in deinem Workflow. Jede Zustellung trägt den Header X-Zuuna-Signature, eine HMAC-SHA256-Prüfsumme des rohen Bodys mit dem Secret deines Endpoints.
import { createHmac, timingSafeEqual } from "crypto";
function verify(rawBody, header, secret) {
const expected = "sha256=" +
createHmac("sha256", secret).update(rawBody).digest("hex");
const a = Buffer.from(header || "");
const b = Buffer.from(expected);
return a.length === b.length && timingSafeEqual(a, b);
}Wichtig: Die Prüfsumme läuft über die rohen Bytes, wie sie ankommen, nicht über ein zuerst geparstes und neu serialisiertes JSON. Ein Code-Node, der die Bytes vor der Prüfung anfasst, verschiebt Reihenfolge oder Escapes, und jede Signatur schlägt fehl.
Zuuna zu n8n als Deploy-Ziel
Ein Release, das du veröffentlichst, kann direkt deinen n8n-Workflow anstoßen. n8n ist eines der Ziele, die ein Deploy-Target ansteuern kann, neben GitHub, GitLab, Jenkins oder einem eigenen Webhook.
Drei Rezepte zum Kopieren
- Formular oder Mail wird zur Karte. Formular- oder Mail-Trigger in n8n, dahinter ein HTTP-Request-Node, der die Karte anlegt.
- Karte verschoben wird zur Nachricht im Team-Tool. Zuuna schickt
card.moved, n8n formt daraus eine Nachricht für Slack, Discord, Teams oder was du sonst benutzt. - Jede gebuchte Stunde wird zur Zeile in deiner Tabelle.
time.loggedals Trigger, ein Node, der die Zeile in Google Sheets, Airtable oder deiner eigenen Datenbank anlegt.
Plan
Die REST-API und ausgehende Webhooks gehören zum Developer-Tarif. Willst du nur bei einer einzelnen Aktion an einen Endpoint posten, etwa bei jeder Kartenbewegung, geht das auch ohne API-Token: Automatisierungen können das schon ab dem Plus-Tarif.
Häufige Fragen
Brauche ich einen fertigen n8n-Node?
Nein. Der HTTP-Request-Node reicht für alles, was n8n bei Zuuna auslösen kann, wie in den Beispielen oben.
Wie prüfe ich die Signatur?
HMAC-SHA256 über den rohen Body mit dem Secret deines Endpoints, verglichen mit dem Header X-Zuuna-Signature im Format sha256=hex. Das Code-Beispiel oben läuft unverändert in einem n8n Code-Node. Prüfe die Bytes, wie sie ankommen, nie ein neu serialisiertes JSON.
Kann n8n Boards anlegen?
Ja, mit dem Scope boards:write, sofern wer das Token erstellt hat, selbst die Berechtigung dazu hat. Eine neue Gruppe legt die API nicht an, die muss schon bestehen.
Welcher Plan?
REST-API und Webhooks gehören zum Developer-Tarif. An einen Endpoint posten geht schon ab dem Plus-Tarif über Automatisierungen.