Reference · Tools

Zendesk

Manage Zendesk Support tickets, ticket fields, users, and organizations

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.

Node type
Action
Parameters
47
Outputs
Output, Error
Credentials
Zendesk

Zendesk

Manage Zendesk Support tickets, ticket fields, users, and organizations.

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.

Category: Communication
Tool Name: zendesk
Version: 1

Appearance: Icon: si-zendesk | Color: #03363D

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
SearchsearchSearch users
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
DescriptionstringYesThe 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 IDoptionsNoCustom field ID. Find in Zendesk Admin > Manage > Ticket Fields. Loaded from your Zendesk instance.
— — ValuestringNoCustom field value.
— External IDstringNoAn ID you can use to link Zendesk Support tickets to local records.
— Group IDstringNoThe group this ticket is assigned to. Provide the group ID. Find in Zendesk Admin > People > Groups.
— RecipientstringNoThe original recipient email address of the ticket.
— StatusoptionsNoThe state of the ticket.
Options: closed, new, hold (on-hold), open, pending, solved
— SubjectstringNoThe value of the subject field for this ticket.
— TagsstringNoComma-separated list of tags applied to this ticket.
— TypeoptionsNoThe type of this ticket.
Options: question, incident, problem, task
Additional Fields (JSON)jsonNoRaw 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 IDstringYesThe 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 EmailstringNoThe 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 IDoptionsNoCustom field ID. Loaded from your Zendesk instance.
— — ValuestringNoCustom field value.
— External IDstringNoAn ID you can use to link Zendesk Support tickets to local records.
— Group IDstringNoThe group this ticket is assigned to. Provide the group ID.
— Internal NotestringNoInternal ticket note (accepts HTML). Creates a private comment.
— Public ReplystringNoPublic ticket reply. Creates a public comment.
— RecipientstringNoThe original recipient email address of the ticket.
— StatusoptionsNoThe state of the ticket.
Options: closed, new, hold (on-hold), open, pending, solved
— SubjectstringNoThe value of the subject field for this ticket.
— TagsstringNoComma-separated list of tags applied to this ticket.
— TypeoptionsNoThe type of this ticket.
Options: question, incident, problem, task
Update Fields (JSON)jsonNoRaw 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 IDstringYesThe 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)
— GroupstringNoFilter by group name or ID. Only for regular tickets.
— QuerystringNoZendesk 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
— StatusoptionsNoFilter 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 IDstringYesThe ID of the ticket to delete. Supports expressions.

Ticket: Recover

ParameterTypeRequiredDefaultDescription
Suspended Ticket IDstringYesThe ID of the suspended ticket to recover. Supports expressions.

Ticket Field: Get

ParameterTypeRequiredDefaultDescription
Ticket Field IDstringYesThe 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
NamestringYesThe user’s name. Supports expressions.
Additional FieldscollectionNo{}Optional profile values for the new user.
— AliasstringNoAn alias displayed to end users.
— Custom Role IDnumberNo0A custom role if the user is an agent on the Enterprise plan.
— DetailsstringNoAny details you want to store about the user, such as an address.
— EmailstringNoThe user’s primary email address.
— External IDstringNoA unique identifier from another system.
— LocalestringNoThe user’s locale (e.g. en-us). Find available locales via Zendesk API: GET /api/v2/locales.
— ModeratorbooleanNofalseWhether the user has forum moderation capabilities.
— NotesstringNoAny notes you want to store about the user.
— Only Private CommentsbooleanNofalseWhether the user can only create private comments.
— Organization IDstringNoThe ID of the user’s organization. Find via Zendesk Admin > People > Organizations.
— PhonestringNoThe user’s primary phone number.
— Report CSVbooleanNofalseWhether the user can access the CSV report.
— Restricted AgentbooleanNofalseWhether the agent has any restrictions.
— RoleoptionsNoThe user’s role.
Options: end-user, agent, admin
— SignaturestringNoThe user’s signature. Only agents and admins can have signatures.
— SuspendedbooleanNofalseWhether the agent is suspended.
— TagsstringNoComma-separated list of tags applied to this user.
— Ticket RestrictionoptionsNoSpecifies which tickets the user has access to.
Options: organization, groups, assigned, requested
— TimezonestringNoThe user’s time zone.
— User FieldsfixedCollectionNo{}Values of custom fields in the user’s profile.
— — Field KeyoptionsNoCustom user field key. Find in Zendesk Admin > Manage > User Fields. Loaded from your Zendesk instance.
— — ValuestringNoValue of the field.
— VerifiedbooleanNofalseWhether the user’s primary identity is verified.

User: Update

ParameterTypeRequiredDefaultDescription
User IDstringYesThe ID of the user to update. Supports expressions.
Update FieldscollectionNo{}Values to change on the user.
— AliasstringNoAn alias displayed to end users.
— Custom Role IDnumberNo0A custom role if the user is an agent on the Enterprise plan.
— DetailsstringNoAny details you want to store about the user.
— EmailstringNoThe user’s primary email address.
— External IDstringNoA unique identifier from another system.
— LocalestringNoThe user’s locale (e.g. en-us).
— ModeratorbooleanNofalseWhether the user has forum moderation capabilities.
— NamestringNoThe user’s name.
— NotesstringNoAny notes you want to store about the user.
— Only Private CommentsbooleanNofalseWhether the user can only create private comments.
— Organization IDstringNoThe ID of the user’s organization.
— PhonestringNoThe user’s primary phone number.
— Report CSVbooleanNofalseWhether the user can access the CSV report.
— Restricted AgentbooleanNofalseWhether the agent has any restrictions.
— RoleoptionsNoThe user’s role.
Options: end-user, agent, admin
— SignaturestringNoThe user’s signature.
— SuspendedbooleanNofalseWhether the agent is suspended.
— TagsstringNoComma-separated list of tags applied to this user.
— Ticket RestrictionoptionsNoSpecifies which tickets the user has access to.
Options: organization, groups, assigned, requested
— TimezonestringNoThe user’s time zone.
— User FieldsfixedCollectionNo{}Values of custom fields in the user’s profile.
— — Field KeyoptionsNoCustom user field key. Loaded from your Zendesk instance.
— — ValuestringNoValue of the field.
— VerifiedbooleanNofalseWhether the user’s primary identity is verified.

User: Get

ParameterTypeRequiredDefaultDescription
User IDstringYesThe 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.
— QuerystringNoSearch query string.
— External IDstringNoSearch by external ID.

User: Delete

ParameterTypeRequiredDefaultDescription
User IDstringYesThe ID of the user to delete. Supports expressions.
ParameterTypeRequiredDefaultDescription
User IDstringYesThe ID of the user to get related data for. Supports expressions.

User: Get Organizations

ParameterTypeRequiredDefaultDescription
User IDstringYesThe ID of the user to get organizations for. Supports expressions.

Organization: Create

ParameterTypeRequiredDefaultDescription
NamestringYesThe name of the organization. Supports expressions.
Additional FieldscollectionNo{}Optional values for the new organization.
— DetailsstringNoDetails about the organization, such as the address.
— Domain NamesstringNoComma-separated domain names associated with this organization.
— NotesstringNoNotes about the organization.
— Organization FieldsfixedCollectionNo{}Values of custom fields in the organization’s profile.
— — Field KeyoptionsNoOrganization field key. Find in Zendesk Admin > Manage > Organization Fields. Loaded from your Zendesk instance.
— — ValuestringNoValue of the field.
— TagsstringNoComma-separated list of tags applied to this organization.

Organization: Update

ParameterTypeRequiredDefaultDescription
Organization IDstringYesThe ID of the organization to update. Supports expressions.
Update FieldscollectionNo{}Values to change on the organization.
— DetailsstringNoDetails about the organization.
— Domain NamesstringNoComma-separated domain names associated with this organization.
— NamestringNoThe name of the organization.
— NotesstringNoNotes about the organization.
— Organization FieldsfixedCollectionNo{}Values of custom fields in the organization’s profile.
— — Field KeyoptionsNoOrganization field key. Loaded from your Zendesk instance.
— — ValuestringNoValue of the field.
— TagsstringNoComma-separated list of tags applied to this organization.

Organization: Get

ParameterTypeRequiredDefaultDescription
Organization IDstringYesThe 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 IDstringYesThe ID of the organization to delete. Supports expressions.
ParameterTypeRequiredDefaultDescription
Organization IDstringYesThe 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.

Usage Examples

  • 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

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

Manage Zendesk Support tickets, ticket fields, users, and organizations via the Zendesk API. Use for customer service workflow automation.

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 the Zendesk node

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 updated . Spotted something wrong? Tell us.