GoRunner docs
Search or askSearch⌘K

Zendesk

Create, update and find Zendesk tickets, reply and add internal notes, apply macros, and manage users and organizations.

37 actions · 1 trigger · Sign in with Zendesk

Connect Zendesk

  1. In the sidebar, open Connections and press Add connection.
  2. Type zendesk and choose Zendesk.
  3. Choose Sign in with Zendesk.
  4. Fill in Subdomain.
  5. Press Sign in with Zendesk at the bottom of the sheet, then choose your account in Zendesk’s window and allow access.

Before you sign in, the sheet asks:

Subdomain · Required

Your Zendesk subdomain: acme for acme.zendesk.com.

Or choose Paste your API token, fill in Subdomain and API token, and press Test and save. It stays until someone deletes it.

Enter your Zendesk subdomain (the part before .zendesk.com), then sign in with Zendesk, or enter an agent’s email and an API token (Admin Center › Apps and integrations › APIs › API tokens). The connection acts with that agent’s role; managing webhooks needs an admin.

What if it says “Sign-in isn’t set up here yet”?

Signing in with Zendesk needs a Zendesk app on this installation, and it has none yet. Until it is set up, Paste your API token works without it.

On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”

Self-hosted: An admin of the installation sees Set up Zendesk sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.

  1. Create an app in Zendesk’s developer settings (Zendesk’s guide).
  2. In GoRunner, copy the Redirect address to add in Zendesk’s developer settings, and add it to the app.
  3. Paste the Client ID and Client secret, then press Save and sign in.

Set up a sign-in app

Can I use my own Zendesk app?

Yes. In the sheet, open Use your own Zendesk app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.

Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.

Start a workflow

Add a trigger and choose Zendesk. The trigger uses the same connection as the steps.

On Ticket Created or Updated

Starts when a Zendesk ticket is created or updated and matches the conditions below, or on the Zendesk events you pick. Publishing the workflow adds a webhook (and, for ticket created/updated, a trigger rule) to your Zendesk account: an admin's connection is needed, and unpublishing removes them. Every delivery's signature (HMAC-SHA256 under the webhook's own secret) is checked and an unsigned one is refused; a signed retry is accepted for up to 24 hours, and Zendesk's retry of a delivery starts no second run. Ticket created/updated gets the ticket's ids, status, priority, type, tags and times (read its subject and comments with Zendesk › Ticket › Get); Zendesk events get the whole ticket, user or organization and the change.

Trigger on · Required

Which changes start a run. Ticket, user or organization events: the Zendesk events picked below.

Options: Ticket created, Ticket updated, Ticket created or updated, Ticket, user or organization events.

Default: Ticket created.

Zendesk events · Required

Which Zendesk events start a run. The filters below narrow ticket events.

Options: Ticket: created to Organization: external id changed (70 options).

Shows when Trigger on is Ticket, user or organization events.

Status · Optional

Only tickets with this status (after the change).

Options: New, Open, Pending, On-hold, Solved, Closed.

Priority · Optional

Only tickets with this priority.

Options: Urgent, High, Normal, Low.

Type · Optional

Only tickets of this type.

Options: Problem, Incident, Question, Task.

Tag · Optional

Only tickets that carry this tag.

Group · Optional

Only tickets assigned to this group.

A later step can use its data, such as {{trigger.change}}, {{trigger.current_user}}, {{trigger.event}} and 4 more. See Use data from earlier steps.

Do things in Zendesk

Add a Zendesk step, choose a Resource, then an Operation. Choose a row to see its fields.

Later steps read a step’s output by its name: see Use data from earlier steps.

Limits

  • A reply from Zendesk can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
  • When Zendesk says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.

Not in your list? See When an app isn’t here.

For developers

In the API, which calls apps pieces, Zendesk is pieceId: "zendesk" with actionId: "zendesk", set by resource and an operation_… field, such as operation_attachment. Its trigger is zendesktrigger / zendesk_ticket. Get an app returns every field.

It can change something outside the run (writes_external). See How versions and side effects work.

Zendesk › Ticket

Create

Description · Required

The ticket's first comment: what the requester asks.

Subject · Optional

The ticket's subject line.

Status · Optional

Empty: Zendesk's default (new) on create, unchanged on update.

Options: New, Open, Pending, On-hold, Solved, Closed.

Priority · Optional

Options: Urgent, High, Normal, Low.

Type · Optional

A task can have a due date; an incident can be linked to a problem.

Options: Problem, Incident, Question, Task.

Requester Email · Optional

Who asks. Zendesk adds the person as an end user when the email is new. Empty on create: the connection's agent.

Requester Name · Optional

The name for a requester Zendesk adds by email.

Assignee ID · Optional

The agent the ticket is assigned to.

Assignee Email · Optional

Or the assigned agent's email.

Group · Optional

The group the ticket is assigned to.

Organization ID · Optional

The organization the ticket belongs to (the requester must be in it).

Tags · Optional

Tags, separated by commas. On update these REPLACE the ticket's tags; use Add Tags to keep the others.

External ID · Optional

An id from another system, to find the ticket by.

Due At · Optional

A task's due date and time (ISO 8601, such as 2026-11-07T17:00:00Z).

CC Emails · Optional

Emails to copy on the ticket, separated by commas.

Custom Fields · Optional

The ticket's custom field values by field id: {"360001234": "gold", "360005678": true} or [{"id": 360001234, "value": "gold"}]. Ticket Field › Get Many lists the ids.

Get and Delete

Ticket Type · Optional

A ticket, or a suspended ticket (one Zendesk held back as possible spam).

Options: Ticket, Suspended ticket.

Default: Ticket.

Ticket ID · Required

The ticket's number, or its link in Zendesk.

Get Many

Ticket Type · Optional

A ticket, or a suspended ticket (one Zendesk held back as possible spam).

Options: Ticket, Suspended ticket.

Default: Ticket.

Status · Optional

Only tickets with this status.

Options: New, Open, Pending, On-hold, Solved, Closed.

Shows when Ticket Type is Ticket.

Group · Optional

Only tickets of this group.

Shows when Ticket Type is Ticket.

Search · Optional

More criteria in Zendesk's search syntax, such as "priority>normal tags:vip requester:ada@example.com". Empty: every ticket.

Shows when Ticket Type is Ticket.

Sort By · Optional

Return All with a status, group or search reads in the order tickets were created.

Options: Updated, Created, Priority, Status, Type.

Shows when Ticket Type is Ticket.

Sort Order · Optional

Options: Ascending, Descending.

Shows when Ticket Type is Ticket.

Return All · Optional

Read every ticket, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many tickets to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Ticket ID · Required

The ticket's number, or its link in Zendesk.

Comment · Optional

A comment to add with the update. Empty adds none.

Public Comment · Optional

Off: the comment is an internal note only agents see.

On by default.

Subject · Optional

The ticket's subject line.

Status · Optional

Empty: Zendesk's default (new) on create, unchanged on update.

Options: New, Open, Pending, On-hold, Solved, Closed.

Priority · Optional

Options: Urgent, High, Normal, Low.

Type · Optional

A task can have a due date; an incident can be linked to a problem.

Options: Problem, Incident, Question, Task.

Requester Email · Optional

Who asks. Zendesk adds the person as an end user when the email is new. Empty on create: the connection's agent.

Requester Name · Optional

The name for a requester Zendesk adds by email.

Assignee ID · Optional

The agent the ticket is assigned to.

Assignee Email · Optional

Or the assigned agent's email.

Group · Optional

The group the ticket is assigned to.

Organization ID · Optional

The organization the ticket belongs to (the requester must be in it).

Tags · Optional

Tags, separated by commas. On update these REPLACE the ticket's tags; use Add Tags to keep the others.

External ID · Optional

An id from another system, to find the ticket by.

Due At · Optional

A task's due date and time (ISO 8601, such as 2026-11-07T17:00:00Z).

CC Emails · Optional

Emails to copy on the ticket, separated by commas.

Custom Fields · Optional

The ticket's custom field values by field id: {"360001234": "gold", "360005678": true} or [{"id": 360001234, "value": "gold"}]. Ticket Field › Get Many lists the ids.

Recover Suspended

Ticket ID · Required

The ticket's number, or its link in Zendesk.

Add Tags and Remove Tags

Ticket ID · Required

The ticket's number, or its link in Zendesk.

Tags · Required

Tags, separated by commas. Zendesk keeps tags lowercase, with no spaces.

Zendesk › Ticket Comment

Add

Ticket ID · Required

The ticket's number, or its link in Zendesk.

Comment · Required

The comment's text.

Comment Is HTML · Optional

On: the comment is HTML (links, lists, formatting).

Off by default.

Public · Optional

Off: an internal note only agents see. On: a reply the requester gets.

On by default.

Author ID · Optional

Who writes it (a user id). Empty: the connection's agent.

Attachments · Optional

Attach one file per row, or switch the field to an expression to pass a whole list from an earlier step (such as {{steps.unzip.files}}). Each file is uploaded to Zendesk and attached to the comment (Zendesk takes up to 50 MB a file).

Upload Tokens · Optional

Tokens of files already uploaded (Attachment › Upload), separated by commas.

Get Many

Ticket ID · Required

The ticket's number, or its link in Zendesk.

Return All · Optional

Read every comment, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many comments to return (1–2000).

Default: 50.

Shows when Return All is off.

Zendesk › Attachment

Upload

File · Required

Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). Zendesk keeps an upload for 60 minutes, until a comment uses its token.

Add to Upload · Optional

An upload token to add this file to, so one token carries several files.

Get

Attachment ID · Required

The attachment's id (a comment's attachments list it).

Zendesk › Ticket Field

Get

Ticket Field ID · Required

The field's id.

Get Many

Return All · Optional

Read every ticket field, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many ticket fields to return (1–2000).

Default: 100.

Shows when Return All is off.

Zendesk › User

Create and Create or Update

Name · Optional

The person's name. Required to create one.

Email · Optional

The person's primary email. Create or Update finds the user by it (or by External ID).

Role · Optional

Empty: end user on create, unchanged on update.

Options: End user, Agent, Admin.

Phone · Optional
Organization ID · Optional

The person's (default) organization.

External ID · Optional

An id from another system, to find the person by.

Alias · Optional

The name shown to end users instead of an agent's real name.

Details · Optional

Details about the person, such as an address.

Notes · Optional

Notes only agents see.

Tags · Optional

Tags, separated by commas (they replace the user's tags).

Time Zone · Optional

such as Europe/Berlin.

Locale · Optional

such as en-US or de.

Verified · Optional

Mark the identity as verified, so no verification email is sent.

Options: Verified, Not verified.

User Fields · Optional

Values of the account's custom user fields by key: {"plan": "gold"}.

Get, Delete and Get Related Data

User ID · Required

The user's id, or their link in Zendesk.

Get Many

Role · Optional

Only people with this role.

Options: End user, Agent, Admin.

Return All · Optional

Read every user, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many users to return (1–2000).

Default: 50.

Shows when Return All is off.

Search

Query · Optional

Text or Zendesk search criteria: a name, an email, or "email:ada@example.com". Empty: search by External ID.

External ID · Optional

Find the user with this external id instead.

Return All · Optional

Read every user, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many users to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

User ID · Required

The user's id, or their link in Zendesk.

Name · Optional

The person's name. Required to create one.

Email · Optional

The person's primary email. Create or Update finds the user by it (or by External ID).

Role · Optional

Empty: end user on create, unchanged on update.

Options: End user, Agent, Admin.

Phone · Optional
Organization ID · Optional

The person's (default) organization.

External ID · Optional

An id from another system, to find the person by.

Alias · Optional

The name shown to end users instead of an agent's real name.

Details · Optional

Details about the person, such as an address.

Notes · Optional

Notes only agents see.

Tags · Optional

Tags, separated by commas (they replace the user's tags).

Time Zone · Optional

such as Europe/Berlin.

Locale · Optional

such as en-US or de.

Verified · Optional

Mark the identity as verified, so no verification email is sent.

Options: Verified, Not verified.

User Fields · Optional

Values of the account's custom user fields by key: {"plan": "gold"}.

Get Organizations

User ID · Required

The user's id, or their link in Zendesk.

Return All · Optional

Read every user, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many users to return (1–2000).

Default: 50.

Shows when Return All is off.

Zendesk › Organization

Create

Name · Optional

The organization's name (unique in the account). Required to create one.

Details · Optional

Details such as an address.

Notes · Optional

Notes only agents see.

Domain Names · Optional

Email domains, separated by commas: people with an email there join the organization.

Tags · Optional

Tags, separated by commas (they replace the organization's tags).

External ID · Optional

An id from another system.

Group · Optional

New tickets from its people go to this group.

Shared Tickets · Optional

Whether its people see each other's tickets.

Options: Shared, Not shared.

Organization Fields · Optional

Values of the account's custom organization fields by key: {"tier": "gold"}.

Get, Delete and Get Related Data

Organization ID · Required

The organization's id, or its link in Zendesk.

Get Many

Return All · Optional

Read every organization, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many organizations to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Organization ID · Required

The organization's id, or its link in Zendesk.

Name · Optional

The organization's name (unique in the account). Required to create one.

Details · Optional

Details such as an address.

Notes · Optional

Notes only agents see.

Domain Names · Optional

Email domains, separated by commas: people with an email there join the organization.

Tags · Optional

Tags, separated by commas (they replace the organization's tags).

External ID · Optional

An id from another system.

Group · Optional

New tickets from its people go to this group.

Shared Tickets · Optional

Whether its people see each other's tickets.

Options: Shared, Not shared.

Organization Fields · Optional

Values of the account's custom organization fields by key: {"tier": "gold"}.

Count

Nothing to fill in.

Zendesk › Macro

Get Many

Active Only · Optional

Only macros that are switched on.

On by default.

Return All · Optional

Read every macro, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many macros to return (1–2000).

Default: 50.

Shows when Return All is off.

Get

Macro · Required

The macro.

Apply to Ticket

Macro · Required

The macro.

Ticket ID · Required

The ticket to apply the macro to.

Zendesk › View

Get Many

Return All · Optional

Read every item, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many items to return (1–2000).

Default: 50.

Shows when Return All is off.

Get Tickets

View · Required

The view.

Return All · Optional

Read every item, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many items to return (1–2000).

Default: 50.

Shows when Return All is off.

Count Tickets

View · Required

The view.