- Home
- Resources
- Integrations
- Zendesk
Zendesk n8n integrationAutomate Zendesk with n8n.
Zendesk holds the tickets, n8n holds the rest of the tooling. The Zendesk n8n integration ships as two nodes: 23 operations across 4 resources, from tickets to organizations, and a trigger that listens through a webhook, so support activity reaches a workflow in seconds.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Zendesk n8n integration actually cover?
Two nodes ship with n8n for this tool. The Zendesk node calls the Zendesk API in both directions: it creates, reads, updates and deletes tickets, users and organizations, and it reads ticket fields. The Zendesk Trigger goes the other way, starting a workflow when Zendesk calls an n8n webhook, which is a URL n8n hands to the tool so events arrive without anyone asking for them.
The first scenario is intake. A form, a chat log or an inbound email lands somewhere, and ticket.create turns it into a real ticket with a Subject, a Type and a group, so nobody retypes a customer message into the agent view. Pair it with Gmail when the source is a shared mailbox.
The second is notification and triage. The Zendesk Trigger fires, the workflow reads the ticket with ticket.get, then posts a short summary to Slack or Telegram for the on-call agent. The same shape works for escalation: check the requester with user.get, and only ping the channel when the account matters.
The third is reporting without a BI tool. ticket.getAll with Return All on walks every page of the search results, and the rows drop into Google Sheets for a weekly backlog review. organization.count gives the headline number on the same sheet.
Where the node stops, HTTP Request takes over. Zendesk exposes far more than 23 operations, and anything missing here (side conversations, satisfaction ratings, custom endpoints) is a call away using the same Zendesk credential with predefined authentication. That fallback also solves the tag problem described below.
The known limits are worth reading before building. Updating Tag Names or IDs replaces the whole tag list on the ticket, so tags absent from the update disappear. Search operations page through results only when Return All is on, otherwise Limit caps what comes back. And the trigger carries no list of events to tick, so filtering happens in Conditions or in an IF node right after. The n8n review covers how the platform handles that kind of tradeoff.
How do you connect Zendesk to n8n?
- 01
Turn on token access in Zendesk
In Admin Center, open Apps and integrations, then APIs, then Zendesk APIs, and enable token access to the API. Without that switch, an API token credential is refused whatever you paste into n8n. Generate the token from the same screen and copy it once, because Zendesk shows the full value a single time.
- 02
Create the API token credential
In n8n, add a Zendesk credential and pick API Token. Three values go in. Subdomain is the part of the URL between https:// and .zendesk.com, so an account reached at n8n-example.zendesk.com uses n8n-example. Email is the address you sign in with. API Token is the value from the previous step.
- 03
Switch to OAuth2 for shared instances
OAuth2 suits a team where actions should be traced to an app rather than to one agent. Create an OAuth client in Apps and integrations, then APIs, then Zendesk API, then OAuth Clients. Paste the OAuth Redirect URL from n8n as the Redirect URL, copy the Unique identifier into Client ID, the Secret into Client Secret, and set the same Subdomain.
What starts a Zendesk workflow in n8n?
Zendesk Trigger is the node that starts a workflow when Zendesk calls n8n. Activate the workflow: n8n gives you the webhook URL to register in Zendesk, and every call becomes an execution.
What you see in n8n
Configuration notes
01Set up the Zendesk Trigger
The Zendesk Trigger works by webhook: n8n registers its URL with Zendesk when the workflow is activated, and each event reaches the workflow in seconds, with no polling and no interval to tune. Version 1 of the node has no event list to tick, which surprises people coming from other triggers.
Key parameters
- Service: the required setting, chosen before anything else in the node.
- Field Names or IDs: inside Options, the fields whose values Zendesk sends with the payload. Pick them from the list, or pass IDs with an expression.
ticket.getAll.02Filter with Conditions
Conditions decide which Zendesk activity is worth waking a workflow for. Since the node carries no list of events to tick, this is where the scope of the trigger is actually defined. Each row is built from four fields, and rows stack, so a workflow can stay quiet until the case really matches.
Key parameters
- Resource: the Zendesk object the condition reads.
- Field: the attribute compared on that object, picked from the list n8n loads for the chosen resource.
- Operation: the comparison applied to it, which decides whether the row is a match or not.
- Value: what the field is measured against, typed in or taken from the list of accepted values.
What can the Zendesk node do?
The Zendesk node exposes 23 operations across 4 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Delete | Count | Get Organizations | Get Related Data | Recover | Search |
|---|---|---|---|---|---|---|---|---|---|---|
| Ticket | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| Ticket Field | ✓ | ✓ | ||||||||
| User | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Organization | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Operations index
Ticket
6 operationsCreate a ticket
ticket.createWhat you see in n8n
Notes & use cases
Opens a ticket in Zendesk from data already in the workflow, and returns the created ticket with its ID for the nodes that follow.
Key parameters
- Description: the first comment on the ticket, and the only required field. It usually comes from the incoming item, for example
{{ $json.message }}. - Subject: in Additional Fields, optional for the API but the line agents scan in the queue.
- Type: Question, Incident, Problem or Task, which drives how the ticket gets triaged.
- Group Name or ID: the group the ticket is assigned to, from the list or an expression.
Delete a ticket
ticket.deleteWhat you see in n8n
Notes & use cases
Erases a ticket permanently. Zendesk keeps regular and suspended tickets in separate places, so the node asks which pile to look in before it removes anything.
Key parameters
- Ticket Type: Regular or Suspended. Picking the wrong one returns nothing to delete rather than deleting the wrong ticket.
- Ticket ID: the numeric identifier, not the subject, often carried over as
{{ $json.id }}.
Get a ticket
ticket.getWhat you see in n8n
Notes & use cases
Reads one ticket and hands back its full payload: status, requester, group, tags and custom field values, all available to later nodes as JSON.
Key parameters
- Ticket Type: Regular for the live queue, Suspended to inspect something held back before deciding what to do with it.
- Ticket ID: the identifier of the ticket to read, typically the one the trigger just delivered.
Get many tickets
ticket.getAllWhat you see in n8n
Notes & use cases
Lists tickets in bulk and supports Zendesk search syntax, which makes it the reporting workhorse of the node.
Key parameters
- Ticket Type: required, and it changes the whole result set.
- Return All: on, n8n walks every page of results; off, Limit caps how many tickets come back.
- Query: in Options, the Zendesk search string that narrows the list.
- Status and Group Name or ID: filter to one state or one team.
- Sort By and Sort Order: order by Created At, Priority, Status, Ticket Type or Updated At, ascending or descending.
Recover a ticket
ticket.recoverWhat you see in n8n
Notes & use cases
Brings a suspended ticket back into the normal queue, where it behaves like any other ticket and can be assigned, replied to and closed.
Key parameters
- Suspended Ticket ID: the identifier from the suspended list, which is not the ID the ticket will carry once it is live.
Update a ticket
ticket.updateWhat you see in n8n
Notes & use cases
Applies changes to a ticket that already exists, from a one word status change to a public reply written by another node.
Key parameters
- Ticket ID: required, the ticket being modified.
- Public Reply: the answer the requester sees. Internal Note stays between agents and accepts HTML.
- Status: New, Open, Pending, On-Hold, Solved or Closed.
- Assignee Email: hands the ticket to an agent by email address.
- Tag Names or IDs: careful, Zendesk replaces the entire tag list, so any tag missing from the update is removed. Read the ticket first and merge, or add tags through HTTP Request.
Ticket Field
2 operationsGet a ticket field
ticketField.getWhat you see in n8n
Notes & use cases
Returns the definition of a single ticket field: its title, type and, for dropdowns, the option values Zendesk accepts.
Key parameters
- Ticket Field ID: the numeric identifier of the field, visible in the Zendesk admin URL for that field.
Get many ticket fields
ticketField.getAllWhat you see in n8n
Notes & use cases
Lists both system and custom ticket fields in one call, which is the fastest way to discover what a Zendesk instance actually stores on a ticket.
Key parameters
- Return All: on for the complete catalog of fields; off, Limit stops after the first few.
User
8 operationsCreate a user
user.createWhat you see in n8n
Notes & use cases
Adds a person to Zendesk, as an end user, an agent or an admin, and returns the user record with the ID used everywhere else.
Key parameters
- Name: the only required field, the display name of the user.
- Email: the primary address, in Additional Fields, and the value Zendesk matches inbound mail against.
- Role: End User, Agent or Admin.
- Organization Name or ID: the default organization for this user.
- Verified: on, Zendesk treats the identity as confirmed and skips the verification email.
Delete a user
user.deleteWhat you see in n8n
Notes & use cases
Removes a user from Zendesk. Their tickets stay, but the profile disappears, so this belongs at the end of a workflow rather than in the middle of one.
Key parameters
- User ID: the numeric identifier of the profile, taken from a previous search rather than typed by hand.
Get a user
user.getWhat you see in n8n
Notes & use cases
Reads one profile and returns the whole record: role, organization, tags, locale, notes and custom user fields.
Key parameters
- User ID: the identifier of the profile to read, usually
{{ $json.requester_id }}pulled from a ticket.
Get many users
user.getAllWhat you see in n8n
Notes & use cases
Lists the users of the account, with a filter on role when only part of the directory is needed.
Key parameters
- Return All: on to page through the entire directory; off, Limit sets the ceiling.
- Roles: in Filters, keep End User, Agent, Admin or any combination of the three.
Get a user's organizations
user.getOrganizationsWhat you see in n8n
Notes & use cases
Returns the organizations a person belongs to. Zendesk allows several memberships per user, and this operation is the one that shows all of them rather than just the default.
Key parameters
- User ID: the profile whose memberships are listed.
Get data related to a user
user.getRelatedDataWhat you see in n8n
Notes & use cases
Hands back the counters Zendesk keeps about a person, the related data around the profile rather than the profile itself.
Key parameters
- User ID: the profile to inspect.
Search a user
user.searchWhat you see in n8n
Notes & use cases
Finds people without knowing their Zendesk ID, which is what most workflows actually have to work with.
Key parameters
- Query: in Filters, free text matched against the directory, typically an email address.
- External ID: the identifier from your own system, if it was stored on the profile at creation.
- Return All and Limit: control how many matches come back, useful when a query is broader than expected.
Update a user
user.updateWhat you see in n8n
Notes & use cases
Rewrites fields on an existing profile, one at a time or in a batch, and returns the updated record.
Key parameters
- User ID: required, the profile being edited.
- Email, Phone, Name: the contact details, in Update Fields.
- Organization Name or ID: moves the person to another account.
- Role and Ticket Restriction: change what the person can do, and which tickets they see, among Organization, Groups, Assigned and Requested.
- Suspended: on, the user cannot sign in and their tickets get suspended too.
Organization
7 operationsCount organizations
organization.countWhat you see in n8n
Notes & use cases
Returns how many organizations the account holds, as a single number rather than a list. It is the cheapest call in the node, since nothing is paged and nothing is filtered.
Create an organization
organization.createWhat you see in n8n
Notes & use cases
Registers a company in Zendesk and returns it with its ID, ready to be attached to users and tickets.
Key parameters
- Name: required, and the label agents search on.
- Domain Names: comma separated domains. Zendesk uses them to attach new contacts to this organization automatically.
- Details and Notes: the address and any context agents should read before replying.
- Tag Names or IDs: tags applied to the organization, from the list or by ID.
Delete an organization
organization.deleteWhat you see in n8n
Notes & use cases
Drops an organization from the account. Members are not deleted with it, they simply end up without a company attached, and their tickets stay where they are.
Key parameters
- Organization ID: the numeric identifier of the record to remove, which the workflow should read from a previous node rather than hold as a constant.
user.update, then deletes the empty duplicate so agents stop picking the wrong account in the ticket form.Get an organization
organization.getWhat you see in n8n
Notes & use cases
Reads one company record and returns everything stored on it: domains, notes, tags and custom organization fields.
Key parameters
- Organization ID: the identifier of the record to read, often coming from
user.getOrganizationsearlier in the workflow.
Get many organizations
organization.getAllWhat you see in n8n
Notes & use cases
Lists the companies in the account, which is how an external system gets a full picture of the Zendesk client base.
Key parameters
- Return All: on, every page of organizations is retrieved; off, Limit decides where the list stops.
Get data related to an organization
organization.getRelatedDataWhat you see in n8n
Notes & use cases
Returns the related data Zendesk keeps around a company rather than the company record itself, which is what you want when the question is about activity instead of contact details.
Key parameters
- Organization ID: the company to inspect, usually resolved earlier in the run from the requester attached to a ticket.
Update an organization
organization.updateWhat you see in n8n
Notes & use cases
Edits a company record in place, which keeps tickets and memberships attached while the details change.
Key parameters
- Organization ID: required, the record being edited.
- Name: in Update Fields, for a rebrand or a fixed typo.
- Domain Names: the comma separated list of domains, worth updating when a company adds a second one.
- Notes and Details: context agents read before replying.
- Tag Names or IDs: the tags carried by the organization.
Need help automating Zendesk with n8n?
A person reads every message.
