Search all guides

Reference · Tools

Zendesk integration

Manage customer support tickets, users, and organizations within the Zendesk platform, including creating, updating, and retrieving their details.

Action Communication v1

The Zendesk node manages Support tickets, ticket fields, users and organizations. A typical build is creating a ticket from an inbound channel, setting the right fields, and updating it as the conversation moves through the queue.

Works as
Action
Tool name
zendesk
Operations
10 — Create , Delete , Get , Get Many , Recover and 5 more
Parameters
47
Outputs
Output, Error
Credentials
Zendesk
Official docs
Zendesk docs developer.zendesk.com

What you can build with Zendesk

  • Create a Zendesk support ticket.
  • Update ticket status to solved.
  • List all open tickets.
  • Create a new user in Zendesk.
  • Search users by email.
  • Create an organization.
  • Get organization related data.
  • Get all ticket fields.

Overview

Zendesk is a customer service platform. This tool provides full CRUD operations for tickets (including suspended tickets), ticket fields, users, and organizations. It supports search, filtering, pagination, custom fields, internal notes, and public replies. Authentication is via Zendesk API token using Basic Auth with email/token credentials.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Zendesk credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Ticketticket
Ticket FieldticketField
Useruser
Organizationorganization

Tickets are the means through which your end users communicate with agents in Zendesk Support. Ticket Field manages system and custom ticket fields. User and Organization manage those records.

Operations

OperationValueDescription
CreatecreateCreate a ticket
DeletedeleteDelete a ticket
GetgetGet a ticket
Get ManygetAllGet many tickets
RecoverrecoverRecover a suspended ticket
UpdateupdateUpdate a ticket
Get OrganizationsgetOrganizationsGet a user’s organizations
Get Related DatagetRelatedDataGet data related to the user
CountcountCount organizations

recover is Ticket-only. search, getOrganizations and the user form of getRelatedData are User-only. count and the organization form of getRelatedData are Organization-only. Ticket Field offers only get and getAll; User and Organization also offer create, delete, get, getAll and update against their own records.

Parameters

Organization: Count takes no parameters of its own — see All Operations.

Ticket: Create

ParameterTypeRequiredDefaultDescription
DescriptionstringYes—The first comment on the ticket. Supports expressions like {{ $json.body }}.
JSON ParametersbooleanNofalseWhether to provide additional fields as raw JSON.
Additional FieldscollectionNo{}Structured fields to set on the new ticket. (shown when JSON Parameters is false)
— Brand IDnumberNo0Brand ID (for multi-brand Zendesk). Leave 0 to use default brand.
— Custom FieldsfixedCollectionNo{}Values for custom ticket fields.
— — Field IDoptionsNo—Custom field ID. Find in Zendesk Admin > Manage > Ticket Fields. Loaded from your Zendesk instance.
— — ValuestringNo—Custom field value.
— External IDstringNo—An ID you can use to link Zendesk Support tickets to local records.
— Group IDstringNo—The group this ticket is assigned to. Provide the group ID. Find in Zendesk Admin > People > Groups.
— RecipientstringNo—The original recipient email address of the ticket.
— StatusoptionsNo—The state of the ticket.
Options: closed, new, hold (on-hold), open, pending, solved
— SubjectstringNo—The value of the subject field for this ticket.
— TagsstringNo—Comma-separated list of tags applied to this ticket.
— TypeoptionsNo—The type of this ticket.
Options: question, incident, problem, task
Additional Fields (JSON)jsonNo—Raw JSON object of additional fields to set on the ticket. See https://developer.zendesk.com/rest_api/docs/support/tickets (shown when JSON Parameters is true)

Ticket: Update

ParameterTypeRequiredDefaultDescription
Ticket IDstringYes—The ID of the ticket to update. Supports expressions.
JSON ParametersbooleanNofalseWhether to provide update fields as raw JSON.
Update FieldscollectionNo{}Structured fields to change on the ticket. (shown when JSON Parameters is false)
— Assignee EmailstringNo—The email address of the assignee.
— Brand IDnumberNo0Brand ID (for multi-brand Zendesk). Leave 0 to use default brand.
— Custom FieldsfixedCollectionNo{}Values for custom ticket fields.
— — Field IDoptionsNo—Custom field ID. Loaded from your Zendesk instance.
— — ValuestringNo—Custom field value.
— External IDstringNo—An ID you can use to link Zendesk Support tickets to local records.
— Group IDstringNo—The group this ticket is assigned to. Provide the group ID.
— Internal NotestringNo—Internal ticket note (accepts HTML). Creates a private comment.
— Public ReplystringNo—Public ticket reply. Creates a public comment.
— RecipientstringNo—The original recipient email address of the ticket.
— StatusoptionsNo—The state of the ticket.
Options: closed, new, hold (on-hold), open, pending, solved
— SubjectstringNo—The value of the subject field for this ticket.
— TagsstringNo—Comma-separated list of tags applied to this ticket.
— TypeoptionsNo—The type of this ticket.
Options: question, incident, problem, task
Update Fields (JSON)jsonNo—Raw JSON object of fields to update on the ticket. (shown when JSON Parameters is true)

Ticket: Get

ParameterTypeRequiredDefaultDescription
Ticket TypeoptionsYesregularWhether to operate on regular or suspended tickets.
Options: regular, suspended
Ticket IDstringYes—The ID of the ticket to retrieve. Supports expressions.

Ticket: Get Many

ParameterTypeRequiredDefaultDescription
Ticket TypeoptionsYesregularWhether to operate on regular or suspended tickets.
Options: regular, suspended
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
OptionscollectionNo{}Filtering and sorting for the ticket list. (hidden when Ticket Type is suspended)
— GroupstringNo—Filter by group name or ID. Only for regular tickets.
— QuerystringNo—Zendesk search query syntax to filter tickets. Only for regular tickets.
— Sort ByoptionsNoupdated_atSort results by this field.
Options: created_at, priority, status, ticket_type, updated_at
— Sort OrderoptionsNoascSort direction.
Options: asc, desc
— StatusoptionsNo—Filter tickets by status. Only for regular tickets.
Options: closed, new, hold (on-hold), open, pending, solved

Ticket: Delete

ParameterTypeRequiredDefaultDescription
Ticket TypeoptionsYesregularWhether to operate on regular or suspended tickets.
Options: regular, suspended
Ticket IDstringYes—The ID of the ticket to delete. Supports expressions.

Ticket: Recover

ParameterTypeRequiredDefaultDescription
Suspended Ticket IDstringYes—The ID of the suspended ticket to recover. Supports expressions.

Ticket Field: Get

ParameterTypeRequiredDefaultDescription
Ticket Field IDstringYes—The ID of the ticket field to retrieve. Supports expressions.

Ticket Field: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

User: Create

ParameterTypeRequiredDefaultDescription
NamestringYes—The user’s name. Supports expressions.
Additional FieldscollectionNo{}Optional profile values for the new user.
— AliasstringNo—An alias displayed to end users.
— Custom Role IDnumberNo0A custom role if the user is an agent on the Enterprise plan.
— DetailsstringNo—Any details you want to store about the user, such as an address.
— EmailstringNo—The user’s primary email address.
— External IDstringNo—A unique identifier from another system.
— LocalestringNo—The user’s locale (e.g. en-us). Find available locales via Zendesk API: GET /api/v2/locales.
— ModeratorbooleanNofalseWhether the user has forum moderation capabilities.
— NotesstringNo—Any notes you want to store about the user.
— Only Private CommentsbooleanNofalseWhether the user can only create private comments.
— Organization IDstringNo—The ID of the user’s organization. Find via Zendesk Admin > People > Organizations.
— PhonestringNo—The user’s primary phone number.
— Report CSVbooleanNofalseWhether the user can access the CSV report.
— Restricted AgentbooleanNofalseWhether the agent has any restrictions.
— RoleoptionsNo—The user’s role.
Options: end-user, agent, admin
— SignaturestringNo—The user’s signature. Only agents and admins can have signatures.
— SuspendedbooleanNofalseWhether the agent is suspended.
— TagsstringNo—Comma-separated list of tags applied to this user.
— Ticket RestrictionoptionsNo—Specifies which tickets the user has access to.
Options: organization, groups, assigned, requested
— TimezonestringNo—The user’s time zone.
— User FieldsfixedCollectionNo{}Values of custom fields in the user’s profile.
— — Field KeyoptionsNo—Custom user field key. Find in Zendesk Admin > Manage > User Fields. Loaded from your Zendesk instance.
— — ValuestringNo—Value of the field.
— VerifiedbooleanNofalseWhether the user’s primary identity is verified.

User: Update

ParameterTypeRequiredDefaultDescription
User IDstringYes—The ID of the user to update. Supports expressions.
Update FieldscollectionNo{}Values to change on the user.
— AliasstringNo—An alias displayed to end users.
— Custom Role IDnumberNo0A custom role if the user is an agent on the Enterprise plan.
— DetailsstringNo—Any details you want to store about the user.
— EmailstringNo—The user’s primary email address.
— External IDstringNo—A unique identifier from another system.
— LocalestringNo—The user’s locale (e.g. en-us).
— ModeratorbooleanNofalseWhether the user has forum moderation capabilities.
— NamestringNo—The user’s name.
— NotesstringNo—Any notes you want to store about the user.
— Only Private CommentsbooleanNofalseWhether the user can only create private comments.
— Organization IDstringNo—The ID of the user’s organization.
— PhonestringNo—The user’s primary phone number.
— Report CSVbooleanNofalseWhether the user can access the CSV report.
— Restricted AgentbooleanNofalseWhether the agent has any restrictions.
— RoleoptionsNo—The user’s role.
Options: end-user, agent, admin
— SignaturestringNo—The user’s signature.
— SuspendedbooleanNofalseWhether the agent is suspended.
— TagsstringNo—Comma-separated list of tags applied to this user.
— Ticket RestrictionoptionsNo—Specifies which tickets the user has access to.
Options: organization, groups, assigned, requested
— TimezonestringNo—The user’s time zone.
— User FieldsfixedCollectionNo{}Values of custom fields in the user’s profile.
— — Field KeyoptionsNo—Custom user field key. Loaded from your Zendesk instance.
— — ValuestringNo—Value of the field.
— VerifiedbooleanNofalseWhether the user’s primary identity is verified.

User: Get

ParameterTypeRequiredDefaultDescription
User IDstringYes—The ID of the user to retrieve. Supports expressions.

User: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrows the user list.
— RolesmultiOptionsNo[]Filter users by role.
Options: end-user, agent, admin
ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}What to search for.
— QuerystringNo—Search query string.
— External IDstringNo—Search by external ID.

User: Delete

ParameterTypeRequiredDefaultDescription
User IDstringYes—The ID of the user to delete. Supports expressions.
ParameterTypeRequiredDefaultDescription
User IDstringYes—The ID of the user to get related data for. Supports expressions.

User: Get Organizations

ParameterTypeRequiredDefaultDescription
User IDstringYes—The ID of the user to get organizations for. Supports expressions.

Organization: Create

ParameterTypeRequiredDefaultDescription
NamestringYes—The name of the organization. Supports expressions.
Additional FieldscollectionNo{}Optional values for the new organization.
— DetailsstringNo—Details about the organization, such as the address.
— Domain NamesstringNo—Comma-separated domain names associated with this organization.
— NotesstringNo—Notes about the organization.
— Organization FieldsfixedCollectionNo{}Values of custom fields in the organization’s profile.
— — Field KeyoptionsNo—Organization field key. Find in Zendesk Admin > Manage > Organization Fields. Loaded from your Zendesk instance.
— — ValuestringNo—Value of the field.
— TagsstringNo—Comma-separated list of tags applied to this organization.

Organization: Update

ParameterTypeRequiredDefaultDescription
Organization IDstringYes—The ID of the organization to update. Supports expressions.
Update FieldscollectionNo{}Values to change on the organization.
— DetailsstringNo—Details about the organization.
— Domain NamesstringNo—Comma-separated domain names associated with this organization.
— NamestringNo—The name of the organization.
— NotesstringNo—Notes about the organization.
— Organization FieldsfixedCollectionNo{}Values of custom fields in the organization’s profile.
— — Field KeyoptionsNo—Organization field key. Loaded from your Zendesk instance.
— — ValuestringNo—Value of the field.
— TagsstringNo—Comma-separated list of tags applied to this organization.

Organization: Get

ParameterTypeRequiredDefaultDescription
Organization IDstringYes—The ID of the organization to retrieve. Supports expressions.

Organization: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

Organization: Delete

ParameterTypeRequiredDefaultDescription
Organization IDstringYes—The ID of the organization to delete. Supports expressions.
ParameterTypeRequiredDefaultDescription
Organization IDstringYes—The ID of the organization to get related data for. Supports expressions.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

Zendesk wraps each record in a named envelope (ticket, user, organization, …). The node unwraps it, so the record’s own fields land on the top level of the item JSON. Anything already on the item passes through, and binary data is forwarded unchanged.

OperationOutput
Ticket create, get, updateOne item carrying the ticket. get on a suspended ticket falls back to the suspended-ticket record
Ticket recoverOne item carrying the recovered ticket
Ticket delete, User delete, Organization deleteOne item carrying success: true
Ticket getAll, Ticket Field getAll, User getAll, User search, Organization getAllFans out — one output item per record
Ticket Field getOne item carrying the ticket field
User create, get, updateOne item carrying the user
User getRelatedDataOne item carrying the user_related counts
User getOrganizationsFans out — one item per organization the user belongs to
Organization create, get, updateOne item carrying the organization
Organization getRelatedDataOne item carrying the organization_related counts
Organization countOne item carrying the count object

With Return All on, the node follows Zendesk’s next_page links until the list is exhausted.

Example Configuration

Create a ticket with a subject, status and custom field:

{
  "type": "zendesk",
  "parameters": {
    "resource": "ticket",
    "operation": "create",
    "description": "Customer is experiencing login issues",
    "jsonParameters": false,
    "additionalFields": {
      "subject": "Login Problem - Urgent",
      "status": "open",
      "type": "problem",
      "tags": "login,urgent,customer-support",
      "customFieldsUi": {
        "customFieldsValues": [
          { "id": "12345", "value": "High Priority" }
        ]
      }
    }
  }
}

Solve a ticket with a public reply:

{
  "type": "zendesk",
  "parameters": {
    "resource": "ticket",
    "operation": "update",
    "id": "67890",
    "jsonParameters": false,
    "updateFields": {
      "status": "solved",
      "publicReply": "Issue has been resolved. Please let us know if you experience any further problems.",
      "assigneeEmail": "agent@company.com"
    }
  }
}

Use raw JSON for a complex update:

{
  "type": "zendesk",
  "parameters": {
    "resource": "ticket",
    "operation": "update",
    "id": "12345",
    "jsonParameters": true,
    "updateFieldsJson": "{\"status\":\"solved\",\"custom_fields\":[{\"id\":123,\"value\":\"resolved\"}],\"comment\":{\"body\":\"Ticket resolved via API\",\"public\":false}}"
  }
}

List open tickets, newest first:

{
  "type": "zendesk",
  "parameters": {
    "resource": "ticket",
    "operation": "getAll",
    "ticketType": "regular",
    "returnAll": false,
    "limit": 50,
    "options": {
      "status": "open",
      "sortBy": "updated_at",
      "sortOrder": "desc",
      "query": "priority:high"
    }
  }
}

Create a user with a custom user field:

{
  "type": "zendesk",
  "parameters": {
    "resource": "user",
    "operation": "create",
    "name": "John Doe",
    "additionalFields": {
      "email": "john.doe@example.com",
      "role": "end-user",
      "organization_id": "12345",
      "phone": "+1-555-0123",
      "time_zone": "America/New_York",
      "verified": true,
      "userFieldsUi": {
        "userFieldValues": [
          { "field": "department", "value": "Engineering" }
        ]
      }
    }
  }
}

Search users:

{
  "type": "zendesk",
  "parameters": {
    "resource": "user",
    "operation": "search",
    "returnAll": false,
    "limit": 25,
    "filters": {
      "query": "role:agent status:active",
      "external_id": "EMP001"
    }
  }
}

Create an organization:

{
  "type": "zendesk",
  "parameters": {
    "resource": "organization",
    "operation": "create",
    "name": "Acme Corporation",
    "additionalFields": {
      "domain_names": "acme.com,acme.org",
      "details": "Large enterprise customer",
      "notes": "VIP customer - priority support",
      "tags": "enterprise,vip,priority",
      "organizationFieldsUi": {
        "organizationFieldValues": [
          { "field": "industry", "value": "Technology" }
        ]
      }
    }
  }
}

Read an organization’s related counts:

{
  "type": "zendesk",
  "parameters": {
    "resource": "organization",
    "operation": "getRelatedData",
    "id": "98765"
  }
}

Fetch every pending ticket for downstream processing — this node emits one item per ticket:

{
  "type": "zendesk",
  "parameters": {
    "resource": "ticket",
    "operation": "getAll",
    "ticketType": "regular",
    "returnAll": true,
    "options": {
      "status": "pending",
      "sortBy": "created_at",
      "sortOrder": "asc"
    }
  }
}

Update a ticket from the item flowing in:

{
  "type": "zendesk",
  "parameters": {
    "resource": "ticket",
    "operation": "update",
    "id": "{{ $json.id }}",
    "jsonParameters": false,
    "updateFields": {
      "internalNote": "Automated triage note for {{ $json.subject }}"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

This tool manages Zendesk Support tickets, ticket fields, users, and organizations. It is ideal for automating customer service workflows, including creating, updating, and retrieving support requests and user information. It produces updated Zendesk resources, lists of items, or specific details about tickets, users, and organizations.

Record IDs

Every resource’s record ID is written as id in a JSON config — Ticket ID, Suspended Ticket ID, User ID and Organization ID all map to the same id parameter. The exception is Ticket Field ID, which is written as ticketFieldId.

JSON vs Structured Parameters

Turn JSON Parameters on for complex or dynamic ticket updates — raw JSON reaches parts of the ticket payload the structured fields do not, such as nested comment objects and arrays of custom_fields. Leave it off for everyday field-by-field edits.

Error Handling Considerations

  • Always validate ticket/user/organization IDs exist before update/delete operations
  • Use the appropriate Ticket Type when working with suspended tickets — the Options collection is hidden for suspended tickets because those filters apply to regular tickets only
  • Consider pagination with Return All off for large datasets
  • Custom fields require proper field IDs from your Zendesk instance

Rate Limits

When Zendesk answers 429 or 503, the node waits and retries up to three times, honouring the Retry-After header (seconds or HTTP-date) and capping the wait at 60 seconds; without a header it backs off 1s, 2s, then 4s.

Frequently asked questions

Which parameter holds a record's ID?

Every resource's record ID is written as `id` in a JSON config — Ticket ID, Suspended Ticket ID, User ID and Organization ID all map to it. The exception is Ticket Field ID, which is `ticketFieldId`.

What can it manage besides tickets?

Ticket fields, users and organizations, so both the cases and the structures around them are reachable.

How do I react to ticket activity?

Use the Zendesk Trigger, which fires on ticket events matching conditions you define.

Which credential does it need?

A Zendesk credential.

Build with Zendesk

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Zendesk credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.