n8n Zendesk-koppeling: nodes, credentials en voorbeeldworkflows
Door Roman Zakharenko · Feiten gecontroleerd
n8n koppelt met Zendesk via twee ingebouwde nodes. De Zendesk-node werkt met tickets, ticketvelden, gebruikers en organisaties, en de Zendesk Trigger-node start een workflow wanneer er iets gebeurt in Zendesk. Beide gebruiken dezelfde credential: een API-token of OAuth2. Houd je de regels liever in Zendesk, dan kun je in plaats daarvan een Zendesk-webhook naar een n8n Webhook-node laten wijzen en die afvuren vanuit een Zendesk-trigger.
In één oogopslag
- De n8n Zendesk-node heeft vier resources: Ticket, Ticket Field, User en Organization.
- Tags instellen met de bewerking Update Ticket van de node vervangt de hele taglijst. Tags die je weglaat, worden verwijderd.
- De Zendesk-credential van n8n ondersteunt een API-token (subdomein, e-mailadres waarmee je inlogt en token) of OAuth2.
- Zendesk ondertekent webhookrequests met de headers X-Zendesk-Webhook-Signature en X-Zendesk-Webhook-Signature-Timestamp.
- De API-limieten van Zendesk Suite lopen van 200 requests per minuut op Team tot 2.500 op Enterprise Plus.
Wat de n8n Zendesk-node kan
De Zendesk-node leest of wijzigt gegevens in Zendesk als stap in een workflow. De documentatie van n8n groepeert de bewerkingen per resource.
| Resource | Bewerkingen |
|---|---|
| Ticket | Aanmaken, verwijderen, één of meer ophalen, bijwerken en een opgeschort ticket herstellen |
| Ticket Field | Eén ticketveld ophalen, of alle systeem- en aangepaste ticketvelden ophalen |
| User | Aanmaken, verwijderen, één of meer ophalen, bijwerken, zoeken, de organisaties van een gebruiker ophalen en gerelateerde gegevens ophalen |
| Organization | Aanmaken, verwijderen, tellen, één of meer ophalen, bijwerken en gerelateerde gegevens ophalen |
Eén gedrag zet mensen op het verkeerde been. Gebruik je Update Ticket en vul je het veld Tag Names or IDs in, dan wordt volgens de documentatie van n8n de hele lijst met tags op het ticket vervangen, dus elke tag die je niet opneemt, wordt verwijderd. Dit volgt hoe de Zendesk API tagupdates standaard verwerkt. De documentatie noemt drie oplossingen: haal de huidige tags op en voeg ze samen met de nieuwe voordat je bijwerkt, gebruik de HTTP Request-node met de property additional_tags van Zendesk, of roep het tags-endpoint van het ticket aan. De laatste twee voegen tags toe zonder bestaande tags te verwijderen.
Ondersteunt de node een bewerking die je nodig hebt niet, gebruik dan de HTTP Request-node, zet Authentication op Predefined Credential Type en kies je Zendesk-credential. Het request gebruikt dan dezelfde verbinding als de Zendesk-node.
Zendesk-credentials instellen in n8n
De Zendesk- en Zendesk Trigger-nodes gebruiken dezelfde credential, en n8n ondersteunt twee manieren om te authenticeren. Voor beide heb je je subdomein nodig: het deel van je Zendesk-URL tussen https:// en .zendesk.com.
- API-token: open in Zendesk Admin Center Apps and integrations en daarna APIs, en schakel tokentoegang voor de Zendesk API in. Voeg een token met een beschrijving toe en kopieer het. Vul in n8n het subdomein, het e-mailadres waarmee je in Zendesk inlogt en het token in.
- OAuth2: maak in Zendesk Admin Center een OAuth-client aan onder Apps and integrations en daarna APIs. Plak de OAuth-callback-URL van n8n in het veld voor de redirect-URL van de client. Kopieer de unieke identifier van de client naar Client ID in n8n en het secret naar Client Secret, voeg het subdomein toe, sla op en verbind je Zendesk-account.
Zendesk Trigger-node of een Zendesk-webhook
Er zijn twee manieren om een n8n-workflow vanuit Zendesk te starten. De Zendesk Trigger-node start een workflow wanneer Zendesk-events voldoen aan de voorwaarden die je in de node instelt. In het voorbeeld uit de documentatie van n8n filtert de node op tickets met de status Open, en de workflow draait zodra je hem inschakelt.
Het alternatief is de koppeling zelf te bouwen. Ga in Zendesk Admin Center naar Apps and integrations en daarna Webhooks, maak een webhook aan, kies Trigger or Automation als verbindingsmethode en laat hem wijzen naar de Production URL van een n8n Webhook-node. Voeg daarna de actie Notify webhook toe aan een Zendesk-trigger of -automatisering en schrijf de payload, die niet langer mag zijn dan 16.000 tekens. Zo blijven de voorwaarden in de bedrijfsregels van Zendesk en kies je precies welke velden je verstuurt.
| Vraag | Zendesk Trigger-node | Zendesk-webhook + n8n Webhook-node |
|---|---|---|
| Waar de voorwaarden staan | In de node, in n8n | In een Zendesk-trigger of -automatisering met de actie Notify webhook |
| Wat n8n ontvangt | De eventdata die de node levert | De payload die je in de triggeractie schrijft, tot 16.000 tekens |
| Zendesk-credential | Nodig voor de trigger zelf | Alleen nodig voor latere stappen die Zendesk aanroepen |
| Testen | Voer de node uit in de editor, zoals in het voorbeeld uit de documentatie van n8n | Gebruik de Test URL van de Webhook-node, die 120 seconden luistert, en schakel daarna over op de Production URL |
Gebruik je een webhook, controleer dan of requests echt van Zendesk komen. Zendesk stuurt twee headers mee: X-Zendesk-Webhook-Signature en X-Zendesk-Webhook-Signature-Timestamp. De handtekening is base64(HMACSHA256(timestamp + body)), gemaakt met het signing secret van de webhook, dat je op de detailpagina van de webhook kunt weergeven of via de API kunt ophalen. Bereken de handtekening opnieuw in je workflow en weiger requests die niet overeenkomen. Zendesk zegt ook dat dezelfde actie een webhook meer dan eens kan aanroepen, dus zorg dat de workflow veilig twee keer voor hetzelfde ticket kan draaien.
De Webhook-node kan direct antwoorden, wanneer de laatste node klaar is, of via een aparte Respond to Webhook-node. Bij langere workflows geeft direct antwoorden Zendesk snel een reactie terwijl de rest van het werk doorloopt.
Voorbeeldworkflow: nieuwe tickets classificeren en Slack informeren
Hier is een veelgebruikt patroon, beschreven in stappen. Het laat zien hoe de nodes in elkaar passen. Het is geen casestudy van TascaLab.
- Trigger: een Zendesk Trigger-node, of een Webhook-node die wordt gevoed door een Zendesk-trigger die afgaat wanneer een ticket wordt aangemaakt. Stuur minimaal het ticket-ID mee.
- Ophalen: een Zendesk-node met de resource Ticket haalt het volledige ticket op, inclusief onderwerp, beschrijving en huidige tags.
- Classificeren: een Text Classifier-node sorteert de tekst in categorieën die je zelf definieert, zoals facturering, technisch probleem of terugbetaling. Elke categorie heeft een naam en een beschrijving die het model helpt. Standaard worden items die bij geen enkele categorie passen weggegooid, dus schakel de tak Other in om ze op te vangen.
- Bijwerken: een Zendesk-node stelt de groep en tags in. Voeg eerst de bestaande tags samen, of voeg tags toe via de HTTP Request-node met additional_tags, zodat je geen tags wist die agents hebben ingesteld.
- Informeren: een Slack-node plaatst de categorie en een link naar het ticket in het kanaal van het team.
- Fouten afhandelen: stuur mislukte runs naar een alert, en wacht en probeer opnieuw wanneer Zendesk een 429-response geeft.
Je kunt hetzelfde patroon uitbreiden. Stuur urgente tickets naar een apart Slack-kanaal, of zoek met de resource Organization de organisatie van de klant op voordat je een groep kiest.
Rate limits en waar n8n draait
Zendesk beperkt het aantal API-requests per minuut per abonnement. De developerdocumentatie noemt deze standaardlimieten voor de Support- en Help Center-API's:
- Suite Team: 200 requests per minuut.
- Suite Growth en Suite Professional: 400 requests per minuut.
- Suite Enterprise: 700 requests per minuut.
- Suite Enterprise Plus: 2.500 requests per minuut.
De add-on High Volume API verhoogt een geschikt abonnement naar 2.500 requests per minuut. Die vervangt de limiet van het abonnement in plaats van erbij op te tellen, en vereist Suite Growth of hoger (of Support Professional of hoger) met minimaal 10 agentseats. Boven de limiet geeft Zendesk HTTP 429 terug met een Retry-After-header die aangeeft hoeveel seconden je moet wachten. Sommige endpoints hebben eigen, strengere limieten. Tel het aantal API-calls per run en vermenigvuldig dat met je piekvolume aan tickets. Bulktaken, zoals achteraf tags toevoegen aan oude tickets, lopen eerder tegen de limiet aan, dus verdeel ze in batches en voeg wachttijden toe.
n8n draait als n8n Cloud, een beheerde instantie die n8n voor je draait, of self-hosted op je eigen machine of infrastructuur. Voor de meeste self-hosted opzetten raadt de documentatie Docker aan, en n8n Cloud als je geen ervaring hebt met serverbeheer. Bij beide triggermethoden moet Zendesk je n8n-instantie kunnen bereiken. Staat een self-hosted instantie achter een reverse proxy, stel dan N8N_WEBHOOK_URL in op de openbare basis-URL, zodat n8n de juiste webhook-URL's toont en externe diensten ze correct registreren. N8N_WEBHOOK_URL vervangt WEBHOOK_URL, dat nog steeds werkt maar vanaf n8n 2.35.0 verouderd is.
TascaLab bouwt Zendesk-automatiseringen zoals deze met n8n, Make, API's en webhooks, bovenop de tools die je al gebruikt. Projecten voor Ticket Routing & Categorization kosten € 690, en projecten voor Custom Automation vanaf € 1.070. De meeste implementaties duren 1 tot 3 weken, en elk project omvat basisdocumentatie en 30 dagen ondersteuning na livegang. Je kunt beginnen met een gratis Health Check-gesprek van 30 minuten.
Veelgestelde vragen
Heeft n8n een ingebouwde Zendesk-koppeling?
Ja. n8n heeft een Zendesk-node voor tickets, ticketvelden, gebruikers en organisaties, en een Zendesk Trigger-node die workflows start vanuit Zendesk-events. Beide gebruiken dezelfde Zendesk-credential.
Waarom verwijdert de n8n Zendesk-node mijn tickettags?
Als je in de bewerking Update Ticket het veld Tag Names or IDs invult, wordt de hele taglijst vervangen. De documentatie van n8n raadt aan eerst de bestaande tags samen te voegen, of tags toe te voegen via de HTTP Request-node met de property additional_tags van Zendesk of via het tags-endpoint.
Welke authenticatiemethoden ondersteunt de Zendesk-credential van n8n?
Een API-token, ingevoerd met je subdomein en het e-mailadres waarmee je inlogt, of OAuth2, met de client-ID en het secret van een OAuth-client die je in Zendesk aanmaakt.
Hoe controleer ik of een webhookrequest van Zendesk komt?
Bereken base64(HMACSHA256(timestamp + body)) opnieuw met het signing secret van de webhook en vergelijk de uitkomst met de header X-Zendesk-Webhook-Signature. De timestamp staat in de header X-Zendesk-Webhook-Signature-Timestamp.
Wat gebeurt er als een workflow de rate limit van de Zendesk API bereikt?
Zendesk weigert het request met HTTP 429 en een Retry-After-header die aangeeft hoeveel seconden je moet wachten. De standaardlimieten lopen van 200 requests per minuut op Suite Team tot 2.500 op Suite Enterprise Plus.
Wil je dit laten opzetten voor je team?
Plan een gratis Health Check: een gesprek van 30 minuten en een schriftelijk rapport met 2–3 concrete aanbevelingen, een vaste prijs en de geschatte lopende kosten. Geen verkooppraatje.
Bronnen
- n8n Docs — Zendesk node
- n8n Docs — Zendesk Trigger node
- n8n Docs — Zendesk credentials
- n8n Docs — Webhook node
- n8n Docs — Text Classifier node
- n8n Docs — Host n8n
- n8n Docs — Configure webhook URLs with reverse proxy
- Zendesk Help — Creating webhooks to interact with third-party systems
- Zendesk Developer Docs — Verifying webhook authenticity
- Zendesk Developer Docs — Rate limits