Guides & Compliance

n8n Zendesk integration: nodes, credentials and example workflows

By Roman Zakharenko · Facts checked

n8n connects to Zendesk through two built-in nodes. The Zendesk node works with tickets, ticket fields, users and organizations, and the Zendesk Trigger node starts a workflow when something happens in Zendesk. Both use the same credential, an API token or OAuth2. If you'd rather keep the rules in Zendesk, you can instead point a Zendesk webhook at an n8n Webhook node and fire it from a Zendesk trigger.

At a glance

  • The n8n Zendesk node has four resources: Ticket, Ticket Field, User and Organization.
  • Setting tags with the node's Update Ticket operation replaces the whole tag list. Tags you leave out are removed.
  • n8n's Zendesk credential supports an API token (subdomain, login email and token) or OAuth2.
  • Zendesk signs webhook requests with the X-Zendesk-Webhook-Signature and X-Zendesk-Webhook-Signature-Timestamp headers.
  • Zendesk Suite API limits run from 200 requests per minute on Team to 2,500 on Enterprise Plus.

What the n8n Zendesk node can do

The Zendesk node reads or changes data in Zendesk as a step in a workflow. n8n's docs group its operations by resource.

Zendesk node resources and operations (n8n docs, checked October 2026)
ResourceOperations
TicketCreate, delete, get one or many, update, and recover a suspended ticket
Ticket FieldGet one ticket field, or get all system and custom ticket fields
UserCreate, delete, get one or many, update, search, get a user's organizations and get related data
OrganizationCreate, delete, count, get one or many, update and get related data

One behaviour catches people out. When you use Update Ticket and fill in the Tag Names or IDs field, n8n's docs say the entire list of tags on the ticket is replaced, so any tag you don't include is removed. This follows how the Zendesk API handles tag updates by default. The docs list three workarounds: fetch the current tags and merge them with the new ones before you update, use the HTTP Request node with Zendesk's additional_tags property, or call the ticket's tags endpoint. The last two add tags without removing existing ones.

If the node doesn't support an operation you need, use the HTTP Request node, set Authentication to Predefined Credential Type and pick your Zendesk credential. The request then reuses the same connection as the Zendesk node.

Setting up Zendesk credentials in n8n

The Zendesk and Zendesk Trigger nodes use the same credential, and n8n supports two ways to authenticate. Both need your subdomain, which is the part of your Zendesk URL between https:// and .zendesk.com.

  • API token: in Zendesk Admin Center, open Apps and integrations, then APIs, and enable token access for the Zendesk API. Add a token with a description and copy it. In n8n, enter the subdomain, the email address you use to log in to Zendesk and the token.
  • OAuth2: in Zendesk Admin Center, create an OAuth client under Apps and integrations, then APIs. Paste n8n's OAuth callback URL into the client's redirect URL field. Copy the client's unique identifier into Client ID in n8n and its secret into Client Secret, add the subdomain, save, and connect your Zendesk account.

Zendesk Trigger node or a Zendesk webhook

There are two ways to start an n8n workflow from Zendesk. The Zendesk Trigger node starts a workflow when Zendesk events match the conditions you set in the node. In n8n's docs example, it filters for tickets whose status is Open, and the workflow runs once you turn it on.

The alternative is to build the connection yourself. In Zendesk Admin Center, go to Apps and integrations, then Webhooks, create a webhook, choose Trigger or Automation as the connection method, and point it at the Production URL of an n8n Webhook node. Then add the Notify webhook action to a Zendesk trigger or automation and write the payload, which can't exceed 16,000 characters. This keeps the conditions in Zendesk business rules and lets you choose exactly which fields to send.

Two ways to start an n8n workflow from Zendesk
QuestionZendesk Trigger nodeZendesk webhook + n8n Webhook node
Where the conditions liveIn the node, in n8nIn a Zendesk trigger or automation with the Notify webhook action
What n8n receivesThe event data the node providesThe payload you write in the trigger action, up to 16,000 characters
Zendesk credentialNeeded for the trigger itselfOnly needed for later steps that call Zendesk
TestingExecute the node in the editor, as in n8n's docs exampleUse the Webhook node's Test URL, which listens for 120 seconds, then switch to the Production URL

If you use a webhook, check that requests really come from Zendesk. Zendesk sends two headers, X-Zendesk-Webhook-Signature and X-Zendesk-Webhook-Signature-Timestamp. The signature is base64(HMACSHA256(timestamp + body)) made with the webhook's signing secret, which you can reveal on the webhook's details page or get through the API. Recompute it in your workflow and reject requests that don't match. Zendesk also says the same action can call a webhook more than once, so make the workflow safe to run twice for the same ticket.

The Webhook node can reply immediately, when the last node finishes, or through a separate Respond to Webhook node. For longer workflows, replying immediately gives Zendesk a quick answer while the rest of the work continues.

Example workflow: classify new tickets and notify Slack

Here is a common pattern, described as steps. It shows how the nodes fit together. It isn't a TascaLab case study.

  1. Trigger: a Zendesk Trigger node, or a Webhook node fed by a Zendesk trigger that fires when a ticket is created. Send at least the ticket ID.
  2. Fetch: a Zendesk node with the Ticket resource gets the full ticket, including the subject, description and current tags.
  3. Classify: a Text Classifier node sorts the text into categories you define, such as billing, technical issue or refund. Each category has a name and a description that helps the model. By default, items that match no category are dropped, so turn on the Other branch to catch them.
  4. Update: a Zendesk node sets the group and tags. Merge the existing tags first, or add tags through the HTTP Request node with additional_tags, so you don't wipe tags that agents set.
  5. Notify: a Slack node posts the category and a link to the ticket in the team's channel.
  6. Handle errors: send failed runs to an alert, and wait and retry when Zendesk returns a 429 response.

You can extend the same pattern. Send urgent tickets to a separate Slack channel, or look up the customer's organization with the Organization resource before you choose a group.

Rate limits and where n8n runs

Zendesk limits API requests per minute by plan. Its developer docs list these default limits for the Support and Help Center APIs:

  • Suite Team: 200 requests per minute.
  • Suite Growth and Suite Professional: 400 requests per minute.
  • Suite Enterprise: 700 requests per minute.
  • Suite Enterprise Plus: 2,500 requests per minute.

The High Volume API add-on raises a qualifying plan to 2,500 requests per minute. It replaces the plan limit rather than adding to it, and needs Suite Growth or above (or Support Professional or above) with at least 10 agent seats. Over the limit, Zendesk returns HTTP 429 with a Retry-After header that says how many seconds to wait. Some endpoints have their own, stricter limits. Count the API calls each run makes and multiply by your peak ticket volume. Bulk jobs, such as backfilling tags on old tickets, are more likely to hit the limit, so batch them and add waits.

n8n runs as n8n Cloud, a managed instance that n8n runs for you, or self-hosted on your own machine or infrastructure. For most self-hosted setups the docs recommend Docker, and they recommend n8n Cloud if you aren't experienced at managing servers. With either trigger method, Zendesk has to be able to reach your n8n instance. If a self-hosted instance sits behind a reverse proxy, set N8N_WEBHOOK_URL to its public base URL so n8n shows the right webhook URLs and external services register them correctly. N8N_WEBHOOK_URL replaces WEBHOOK_URL, which still works but is deprecated from n8n 2.35.0.

TascaLab builds Zendesk automations like this with n8n, Make, APIs and webhooks, on top of the tools you already use. Ticket Routing & Categorization projects cost $775, and Custom Automation projects from $1,200. Most setups take 1 to 3 weeks, and every project includes basic documentation and 30 days of post-launch support. You can start with a free 30-minute Health Check call.

Frequently asked questions

Does n8n have a built-in Zendesk integration?

Yes. n8n has a Zendesk node for tickets, ticket fields, users and organizations, and a Zendesk Trigger node that starts workflows from Zendesk events. Both use the same Zendesk credential.

Why does the n8n Zendesk node remove my ticket tags?

When you fill in Tag Names or IDs in the Update Ticket operation, the whole tag list is replaced. n8n's docs suggest merging the existing tags first, or adding tags through the HTTP Request node with Zendesk's additional_tags property or the tags endpoint.

Which authentication methods does the n8n Zendesk credential support?

An API token, entered with your subdomain and the email you log in with, or OAuth2, using the client ID and secret from an OAuth client you create in Zendesk.

How do I check that a webhook request came from Zendesk?

Recompute base64(HMACSHA256(timestamp + body)) with the webhook's signing secret and compare it with the X-Zendesk-Webhook-Signature header. The timestamp is in the X-Zendesk-Webhook-Signature-Timestamp header.

What happens when a workflow hits the Zendesk API rate limit?

Zendesk rejects the request with HTTP 429 and a Retry-After header that says how many seconds to wait. Default limits run from 200 requests per minute on Suite Team to 2,500 on Suite Enterprise Plus.

Want this set up for your team?

Book a free Health Check: a 30-minute call and a written report with 2–3 concrete recommendations, a fixed price and estimated running costs. No pitch.

Reviews on Upwork

Sources

  1. n8n Docs — Zendesk node
  2. n8n Docs — Zendesk Trigger node
  3. n8n Docs — Zendesk credentials
  4. n8n Docs — Webhook node
  5. n8n Docs — Text Classifier node
  6. n8n Docs — Host n8n
  7. n8n Docs — Configure webhook URLs with reverse proxy
  8. Zendesk Help — Creating webhooks to interact with third-party systems
  9. Zendesk Developer Docs — Verifying webhook authenticity
  10. Zendesk Developer Docs — Rate limits