# Create Zendesk Ticket (/docs/workflows/reference/category/data/createZendeskTicket)

> For the complete documentation index, see [llms.txt](https://docs.tandemcx.ai/llms.txt). Any page on this site can be fetched as Markdown by appending `.md` to its URL.

Files a support ticket in a connected Zendesk account

Files a support ticket in a connected Zendesk account, and captures the new ticket's number and link into workflow variables. Pick which Zendesk account to file in, then set the **Subject** and **Description** — both are `$(variable)`-interpolated, so you can carry in what the caller said earlier in the flow. Set **Requester Email** to attach the ticket to a person: Zendesk matches an existing user by that address and creates one when there is no match, so a ticket filed for a first-time caller still lands in their name. Leave it blank and the ticket is filed as the integration itself. Turn **Visible to Requester** off to file the description as an internal note your agents can see but the customer cannot. **Priority** and **Type** are optional — leave them blank to inherit the Zendesk account's own defaults. **Custom Fields** takes your Zendesk field ids and the values to write. **External ID** stores your own identifier on the ticket, which is also the handle to search on if you need to find whether a ticket was already filed for something. **Save Ticket Number To** and **Save Ticket Link To** name variables that receive the new ticket's number and its agent-facing link, so later nodes can read them back with `$(name)`. Prerequisites: a connected Zendesk integration whose OAuth client can mint a token carrying `tickets:write` — filing for a requester Zendesk has to create may additionally need `users:write`. The flow takes the `failed` exit when Zendesk rejects the ticket, and `default` otherwise. This node can also be given to an AI agent as a tool, which is how an agent files a ticket at the end of a call; note that a ticket is not idempotent, so an agent tool call that times out may still have created one.

**Category:** Data  
**Provider:** Zendesk  
**Requires integration:** zendesk  
**Latest version:** 1.0.0

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Zendesk Integration (`zendeskIntegration`) | dynamicDropdown | Yes | Connected Zendesk account the ticket is filed in. |
| Subject (`subject`) | string | Yes | One-line summary of the issue. Supports $(variable) interpolation. |
| Description (`comment`) | textArea | Yes | The ticket's first comment — what happened, in full. Supports $(variable) interpolation. |
| Visible to Requester (`publicComment`) | boolean | No | Leave on to let the requester see the description. Turn it off to file it as an internal note for your agents only. |
| Requester Name (`requesterName`) | string | No | The person the ticket is for. Used only when Zendesk has to create them. |
| Requester Email (`requesterEmail`) | string | No | Attaches the ticket to this person. Zendesk matches an existing user by email and creates one when there is no match. Leave blank to file the ticket as the integration itself. |
| Assignee Email (`assigneeEmail`) | string | No | The Zendesk agent this ticket is assigned to, by their sign-in email. Leave blank to let your Zendesk account's own triggers route it. |
| Assignee ID (`assigneeId`) | number | No | The numeric user id of the agent to assign, if you'd rather use the id than the email. Takes precedence over Assignee Email. |
| Group ID (`groupId`) | number | No | The numeric id of the Zendesk group to queue the ticket to. Set this without an assignee to hand the ticket to a team rather than a person. |
| Brand ID (`brandId`) | number | No | The numeric id of the brand to file the ticket under, on a multi-brand Zendesk account. Leave blank to use the account's default brand. |
| Priority (`priority`) | string | No | Leave blank to use the Zendesk account's own default. |
| Type (`type`) | string | No | Leave blank to use the Zendesk account's own default. |
| Tags (`tags`) | array of strings | No | Tags to add to the ticket, for routing and reporting in Zendesk. |
| External ID (`externalId`) | string | No | Your own id for whatever this ticket is about — an order number, a conversation id. Zendesk stores it and can search on it. |
| Custom Fields (`customFields`) | array of objects | No | Values for your Zendesk custom ticket fields, addressed by field id. |
| Save Ticket Number To (`ticketIdVariable`) | string · variableName | No | Variable to hold the new ticket's number, for use later in the flow. |
| Save Ticket Link To (`ticketUrlVariable`) | string · variableName | No | Variable to hold the agent-facing link to the new ticket. |

## Exits

- `default` (required)
- `failed` (required)
- `invalidInput` (system)
- `fallback` (system)

System exits (auto-injected, hidden when unwired): `invalidInput`, `fallback`.
