n8n im Kundenservice: 7 Workflows, die deinen Helpdesk mit deinen anderen Tools verbinden
7 n8n-Workflows, die Ereignisse aus deinem Helpdesk nach Slack, in Google Sheets, in dein CRM und in deine Follow-ups bringen, jeweils mit Trigger, Nodes und Ergebnis. Dazu die Stellen, an denen es in der Praxis hakt: Signaturprüfung, Wiederholungen, Kosten für Executions und die Richtung, in die ein Webhook nicht sendet.
Deskwoot Team
10 Min. Lesezeit
Inhalt
Ein Kunde bewertet deinen Support am Sonntagabend mit 1 von 5. Du siehst es am Donnerstag, als endlich jemand die Berichte öffnet. Bis dahin ist die Chance vorbei, die Sache wieder geradezubiegen.
n8n schließt solche Lücken. Es nimmt ein Ereignis aus deinem Helpdesk und bringt es dorthin, wo jemand darauf reagiert: in einen Slack-Kanal, eine Tabelle, dein CRM, eine Follow-up-Mail. Unten findest du 7 Workflows, die ein kleines Supportteam bauen kann, jeweils mit Trigger, den Nodes dazwischen und dem Ergebnis. Die Beispiele nutzen die Webhook-Ereignisse von Deskwoot; die Muster funktionieren mit jedem Helpdesk, der Webhooks sendet.
Eins vorweg: Ein Webhook sendet Ereignisse nur aus deinem Helpdesk hinaus. Um dort etwas zu ändern (zuweisen, Labels setzen, lösen), brauchst du eine API. Darum geht es in Workflow 7.
Die Grundlage für jeden Workflow
Füge in n8n als ersten Schritt einen Webhook-Node hinzu. Stell HTTP Method auf POST und Respond auf Immediately, damit n8n sofort antwortet und erst danach arbeitet. Lass Authentication auf None: Deskwoot sendet weder Basic Auth noch einen Header mit festem Wert, mit jeder anderen Einstellung lehnt n8n also jedes Ereignis ab. Kopiere die Production URL.
In Deskwoot öffnet ein Administrator Einstellungen > Webhooks (die n8n-Karte unter Einstellungen > Integrationen hat einen Button „Webhooks öffnen“, der dorthin führt), klickt auf Webhook hinzufügen, fügt die URL unter Endpunkt-URL ein, hakt nur die Ereignisse an, die dieser Workflow braucht, und klickt auf Webhook erstellen. Danach veröffentlichst du den Workflow in n8n.
Woran es meistens scheitert, ist die URL. Laut der Doku zum Webhook-Node von n8n lauscht die Test URL nur, während du im Editor „Listen for test event“ laufen lässt, die Production URL dagegen, sobald der Workflow veröffentlicht ist. Trägst du die Test URL in deinem Helpdesk ein, funktioniert alles, solange du zuschaust, und danach kommt nichts mehr an. Läufe über die Production URL erscheinen im Tab Executions, nicht auf dem Canvas.
Jedes Ereignis ist ein POST mit JSON-Body (event, data, timestamp, accountId); die API-Doku listet die Felder auf, und unsere n8n-Anleitung im Hilfecenter zeigt die Einrichtung Klick für Klick. Gib jedem Workflow einen eigenen Webhook, dann findest du einen kaputten schnell.
Die 7 Workflows im Überblick
| Workflow | Deskwoot-Ereignis | n8n-Nodes dazwischen | Ergebnis |
|---|---|---|---|
| 1. Neue Konversationen verteilen | Konversation erstellt | Switch, Slack | Jedes Team sieht seine eigenen neuen Chats |
| 2. Bei riskanten Wörtern alarmieren | Nachricht erstellt | Filter, Slack oder Telegram | Der Inhaber erfährt sofort von einer Rückbuchung |
| 3. CSAT-Bewertungen protokollieren | CSAT abgegeben | Google Sheets, If, Slack | Jede Bewertung in einer Tabelle, schlechte markiert |
| 4. Neue Kunden ins CRM | Konversation erstellt, Kontakt erstellt, Kontakt aktualisiert | Switch, Edit Fields, If, HubSpot | Jeder, der schreibt, steht im CRM |
| 5. Die zugewiesene Person anpingen | Konversation zugewiesen | If, Code, Telegram oder Slack | Eine Direktnachricht dort, wo die Person hinschaut |
| 6. Nach dem Lösen nachfassen | Konversation gelöst | Remove Duplicates, Wait, Google Sheets, Gmail | Eine Bitte um eine Rezension, 3 Tage später |
| 7. VIPs im Helpdesk markieren | Konversation erstellt | HubSpot, If, HTTP Request | VIP-Konversationen bekommen ein Label und hohe Priorität |
1. Neue Konversationen in den richtigen Team-Kanal leiten
Konversation erstellt liefert die Konversation (mit ihrer inboxId) sowie Name und E-Mail des Kunden. Ein Switch-Node auf data.conversation.inboxId bekommt einen Ausgang pro Posteingang, und an jedem hängt ein Slack-Node mit Send a message: Rechnungsfragen nach #buchhaltung, der WhatsApp-Posteingang nach #laden. Die ID jedes Posteingangs siehst du in der ersten Execution nach einer Testnachricht.
Prüf zuerst, ob du das überhaupt brauchst. Die eigene Slack-Integration von Deskwoot gibt es in jedem Plan, und sie postet neue Konversationen, Zuweisungen, CSAT-Bewertungen und mehr schon jetzt in die Kanäle, die du auswählst. n8n lohnt sich, wenn du eine Regel brauchst, die diese Benachrichtigungen nicht kennen, oder Microsoft Teams oder Discord statt Slack.
2. Den Inhaber alarmieren, wenn eine Nachricht eine Rückbuchung erwähnt
Bei Nachricht erstellt lässt ein Filter-Node nur Nachrichten durch, bei denen data.message.messageType INCOMING ist, data.message.private false ist und data.message.content auf ein Muster wie erstattung|rückbuchung|anwalt passt. Ein Slack- oder Telegram-Node schickt den Text an den Inhaber, solange die Konversation noch offen ist.
Dieses Ereignis frisst Executions. Es wird bei jeder Nachricht in beide Richtungen ausgelöst, auch bei den Antworten deines Teams und bei privaten Notizen. 40 Konversationen am Tag mit je 6 Nachrichten ergeben 240 Läufe am Tag, rund 7.200 im Monat, und n8n zählt jeden Lauf, auch wenn der Filter ihn verwirft.
3. CSAT-Bewertungen an Google Sheets senden und schlechte markieren
CSAT abgegeben enthält rating (1 bis 5), feedback (den Kommentar, sonst leer), conversationId, contactId und surveyId. Ein Google-Sheets-Node mit Append Row schreibt pro Bewertung eine Zeile, mit dem timestamp des Ereignisses als Datum. Ein If-Node fängt Bewertungen von 2 oder weniger ab und schickt den Kommentar per Slack an die Teamleitung.
Die Tabelle lohnt sich, wenn du Bewertungen neben Daten sehen willst, die in den Berichten von Deskwoot fehlen, etwa den Bestellwert. CSAT-Umfragen gibt es ab dem Business-Plan; die Anleitung zu CSAT-Umfragen erklärt, wann sie verschickt werden, und unser Leitfaden zu Feedback-Umfragen stellt die Umfragearten vor.
4. Jeden neuen Kunden in dein CRM eintragen
Schick Konversation erstellt, Kontakt erstellt und Kontakt aktualisiert an einen einzigen Webhook. Ein Switch-Node trennt sie nach event, ein Edit-Fields-Node an jedem Ausgang bringt sie auf dieselben Felder (Name, E-Mail, Deskwoot-Kontakt-ID), ein If-Node verwirft Einträge ohne E-Mail, und Create/Update a contact im HubSpot-Node schreibt sie. HubSpot gleicht über die E-Mail ab, ein wiederkehrender Kunde wird also kein zweiter Datensatz.
Kontakt erstellt wird ausgelöst, wenn ein Kontakt auf der Seite Kontakte gespeichert oder über die API angelegt wird; wer zum ersten Mal schreibt, kommt als Konversation erstellt an. Diese Payload enthält keine Telefonnummer, und Kunden über WhatsApp oder SMS haben oft noch keine E-Mail. Sie landen im CRM, sobald jemand aus dem Team eine E-Mail ergänzt, denn das löst Kontakt aktualisiert aus.
5. Die zugewiesene Person dort anpingen, wo sie wirklich hinschaut
Konversation zugewiesen enthält conversationId, assigneeId und previousAssigneeId, und assigneeId ist leer, wenn die Zuweisung einer Konversation aufgehoben wurde. Ein If-Node überspringt diese Fälle. Ein Code-Node sucht die Person in einer kleinen Tabelle aus Deskwoot-Benutzer-IDs und Telegram-Chat-IDs (oder Slack-Mitglieds-IDs), und ein Telegram- oder Slack-Node schreibt ihr direkt.
Das Ereignis wird ausgelöst, wenn ein Teammitglied oder die API eine Konversation zuweist oder weitergibt. Round Robin und Automatisierungsregeln weisen zu, ohne es zu senden. In einem Team, das neue Chats per Round Robin verteilt, deckt dieser Workflow also nur manuelle Zuweisungen und Weitergaben ab.
Das Ereignis enthält IDs, keine Namen. Für die Tabelle weist du jedem Teammitglied eine Testkonversation zu und liest assigneeId im Tab Executions ab.
6. 3 Tage nach dem Lösen einer Konversation nachfassen
Konversation gelöst liefert wenig: conversationId und wer gelöst hat. Lass deshalb Workflow 4 zusätzlich conversationId und E-Mail in ein Google Sheet schreiben, und schlag die E-Mail hier nach.
Die Kette: Remove Duplicates (Remove Items Processed in Previous Executions, Value Is New, auf conversationId), damit eine zweimal gelöste Konversation nur ein Follow-up bekommt; Wait (After Time Interval, 3 Tage); Google Sheets, um die E-Mail zu finden; Gmail, um das Follow-up zu senden. Laut der Doku zum Wait-Node speichert ein pausierter Workflow seine Daten in der Datenbank, eine Pause über mehrere Tage ist also kein Problem. Mit aktiven CSAT-Umfragen fragt Deskwoot schon bei jedem Lösen nach einer Bewertung. Bitte deshalb um eine öffentliche Rezension, oder frag nach, ob die Lösung gehalten hat.
7. VIP-Kunden zurück im Helpdesk markieren (braucht die REST-API)
Bei Konversation erstellt sucht ein HubSpot-Node mit Search contacts nach der E-Mail, ein If-Node prüft eine Eigenschaft, auf die du dich verlässt (etwa die Lebenszyklusphase „Kunde“), und ein HTTP-Request-Node schreibt zurück an https://deskwoot.com/api/v1: ein POST an /conversations/{id}/labels mit der ID deines Labels „vip“ und ein PATCH an /conversations/{id} mit "priority": "HIGH" oder der assigneeId des zuständigen Account Managers. Wenige Sekunden nach dem Eingang trägt die Konversation das Label und hohe Priorität.
Dafür brauchst du einen REST-API-Token aus Einstellungen > API-Token (Scope conversations:write). Die REST-API gehört zum bezahlten Enterprise-Plan; die Testphase von 7 Tagen enthält keine API-Tokens. Wenn n8n nur Kunden antworten soll, reicht ein Bot vom Typ Benutzerdefinierter Webhook (ab Startup).
Die Signatur prüfen
Deskwoot signiert jedes Ereignis. Der Header x-deskwoot-signature enthält sha256= plus den HMAC SHA256 des rohen Bodys als Hex, berechnet mit dem Secret des Webhooks als Schlüssel. In n8n braucht die Prüfung 3 Nodes:
- Schalte im Webhook-Node Raw Body ein, damit die exakten Bytes als Binärdaten ankommen.
- Füge einen Crypto-Node hinzu: Aktion Hmac, Binary File an, mit der Binary Property des Webhook-Nodes, Type SHA256, Encoding HEX, das Secret in einem Crypto-Credential.
- Füge einen If-Node hinzu, der
sha256=plus das Ergebnis mit dem Header vergleicht, und schick fehlgeschlagene Prüfungen in eine Sackgasse.
Hashe die rohen Bytes; JSON, das geparst und wieder in Text umgewandelt wurde, kann andere Bytes haben. Für einen Vergleich in konstanter Zeit nimmst du crypto.timingSafeEqual in einem Code-Node, wie es ein ausführliches Beispiel im n8n-Forum vorschlägt. n8n Cloud stellt das Modul crypto im Code-Node bereit; bei einem selbst gehosteten n8n schaltest du es erst frei, wie die Doku zum Code-Node erklärt.
Der Haken: Das Deskwoot-Dashboard zeigt das Secret eines Webhooks nie an. Deskwoot gibt es ein einziges Mal zurück, wenn du den Webhook über die REST-API erstellst, und das heißt wieder Enterprise. Ein Webhook aus Einstellungen > Webhooks ist trotzdem signiert, aber ohne das Secret kannst du die Signatur nicht prüfen. Schütze also die URL. n8n gibt jedem neuen Webhook-Node standardmäßig einen zufälligen Pfad. Halte die Production URL aus Screenshots und geteilten Dokumenten heraus, und falls sie doch nach außen gelangt, ändere den Pfad in n8n und aktualisiere die URL in Deskwoot über Bearbeiten.
Wiederholungen, Timeouts und doppelte Ereignisse
Deskwoot wartet bis zu 10 Sekunden auf eine Antwort. Nach einem Fehler, einem Timeout oder einer gescheiterten Verbindung versucht es 5 Sekunden später noch einmal, mit demselben Body und denselben Headern, und danach ist das Ereignis weg. Mit Respond auf Immediately löst ein langsamer Aufruf an Google Sheets nie eine Wiederholung aus. Bleiben 2 Fälle:
- n8n ist länger als ein paar Sekunden nicht erreichbar (wegen eines Updates oder Neustarts). Diese Ereignisse gehen verloren, also aktualisiere ein selbst gehostetes n8n außerhalb deiner Öffnungszeiten. Mit Enterprise kannst du verpasste Konversationen nachholen, indem du sie über die REST-API auflistest.
- Ein Ereignis kommt doppelt an, weil n8n es zwar bekommen, aber zu spät geantwortet hat. Die Wiederholung hat denselben Body und denselben
timestamp, also verwirft ein Remove-Duplicates-Node auf Ereignis, Zeitstempel undconversationId(odersurveyIdbei Bewertungen) die Kopie. Setz ihn vor alles, was Zeilen schreibt oder Nachrichten sendet.
n8n Cloud oder selbst gehostet
n8n Cloud braucht keinen Server und rechnet nach Executions ab. Die Preisseite von n8n zählt einen Durchlauf des ganzen Workflows als eine Execution, egal wie viele Schritte er hat, und nennt 2.500 Executions im Monat für den Starter-Plan (Stand Oktober 2026). Jedes Ereignis, das du sendest, startet einen Durchlauf, also hake in Deskwoot nur die Ereignisse an, die du brauchst. Workflow 2 allein kann einen Starter-Plan aufbrauchen.
Selbst gehostet ist n8n in der Community Edition kostenlos, laut dem Vergleich von n8n selbst, der dir aber auch die Wartung überlässt. Deskwoot sendet nur an öffentliche HTTPS-Adressen, ein n8n auf dem Laptop oder hinter dem Router im Büro empfängt also nichts. Hinter einem Reverse Proxy setzt du die Variable für die Webhook-URL aus der Hosting-Doku von n8n, sonst zeigt der Node eine interne Adresse als Production URL an.
So oder so speichert n8n vergangene Executions und damit Namen, E-Mail-Adressen und Nachrichtentexte deiner Kunden. Gib nur Leuten Zugriff auf n8n, die auch deinen Helpdesk lesen dürfen.
Welcher Deskwoot-Plan welchen Workflow abdeckt
| Was n8n tun soll | Was Deskwoot dafür nutzt | Plan |
|---|---|---|
| Ereignisse empfangen (Workflows 1 bis 6) | Ein Webhook unter Einstellungen > Webhooks | Ab Startup, auch in der Testphase |
| CSAT-Bewertungen empfangen (Workflow 3) | CSAT-Umfragen | Ab Business |
| Kunden als Bot antworten | Ein Bot vom Typ Benutzerdefinierter Webhook unter Einstellungen > Bots | Ab Startup |
| Zurückschreiben (Workflow 7) oder ein Secret zum Prüfen der Signaturen bekommen | Die REST-API mit einem Token aus Einstellungen > API-Token | Enterprise, bezahlt (nicht in der Testphase) |
Plätze kosten pro Agent und Monat 4 $ bei Startup, 8 $ bei Business und 12 $ bei Enterprise, oder 3,20 $, 6,40 $ und 9,60 $ bei jährlicher Abrechnung; der kostenlose Hacker-Plan sendet keine Webhooks. Details stehen auf der Preisseite, und die Anleitung zu Webhooks listet jedes Ereignis auf.
Für die meisten kleinen Teams ist Workflow 3 der beste Einstieg: ein Ereignis, 3 Nodes, und die nächste schlechte Bewertung erreicht die Teamleitung noch am selben Tag. Jeder neue Deskwoot-Workspace startet mit einer Testphase von 7 Tagen, die Webhooks und CSAT-Umfragen enthält. So verbindest du dein n8n, bevor du etwas bezahlst.

