Update Ticket
Overview
The Update Ticket Snap updates one or more tickets in your Zendesk instance, either one ticket per input document or the same changes across several tickets.
The Snap reads the changes from the location in each input document that the Data path field points to, and the ticket to change from the Ticket ID field. It updates tickets in one of these ways:
- One ticket per input document. With a Batch size of 1, the Snap updates each ticket with its own request and writes the updated ticket to the output view. With a larger batch size, the Snap accumulates tickets and submits each batch as a single request, which Zendesk processes as a background job.
- The same changes to several tickets. When you select Apply same data to multiple tickets, Ticket ID takes a comma-separated list of IDs, and the Snap applies the changes to every listed ticket in a single request, which Zendesk processes as a background job.
For background jobs, the Snap waits for each job to complete, then writes one output document for each ticket the job updated and one error document for each ticket it could not update.

- This is a Write-type Snap.
Works in Ultra Tasks
Supported Accounts
Prerequisites
None.
Snap views
| Type | Description | Examples of upstream and downstream Snaps |
|---|---|---|
| Input |
This Snap has exactly one document input view. Each input document carries the ticket changes at the location that
Data path points to. The Snap provides a
|
|
| Output |
This Snap has at most one document output view. With a Batch size of 1, each output document is the ticket as Zendesk updated it. Otherwise, each output document is the background job's result for one ticket. |
|
| Learn more about Error handling. | ||
Snap settings
| Field/Field set | Description |
|---|---|
Label* String |
Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline. Default value: Update Ticket Example: Close resolved tickets |
Ticket ID*
String/Expression |
Enter the numeric Zendesk ID of the ticket to update. When you select Apply same data to multiple tickets, enter a comma-separated list of ticket IDs instead. Default value: None Example: $ticketId, or 101,102,103 when Apply same data to multiple tickets is selected |
Apply same data to multiple tickets
Checkbox |
When selected, Ticket ID accepts a comma-separated list of IDs, and the Snap applies the same changes from Data path to every listed ticket in a single request. The Batch size field is hidden. Default value: Not selected Example: Selected |
Data path*
Expression |
Enter the path in the input document that resolves to the ticket object with the changes to send to Zendesk. The value must be a single object, not an array. Enter $ to use the entire input document. Default value: $ticket Example: $changes |
Batch size
Integer |
Appears when Apply same data to multiple tickets is not selected. Enter the number of tickets to accumulate before sending a single request, from 1 through 100. With 1, the Snap updates each ticket with its own request. With a larger value, the Snap sends each batch as one request, which Zendesk processes as a background job. Default value: 1 Example: 50 |
Retry attempts
Integer/Expression |
Enter the number of times the Snap should retry the API call on connection
errors or 5xx responses. On a 429 response, the Snap automatically retries
after the interval specified in the server's Default value: 5 Example: 3 |
Retry interval (seconds)
Integer/Expression |
Enter the number of seconds to wait between retry attempts. The Snap also waits this long between checks on a background job's status, and checks up to 100 times. Default value: 3 Example: 5 |
|
Snap execution Dropdown list
|
Choose one of the three modes in
which the Snap executes. Available options are:
Default value: Execute only Example: Validate & execute |
Troubleshooting
| Error | Reason | Resolution |
|---|---|---|
| Unable to connect to Zendesk: <details> | The Snap could not connect to your Zendesk instance with the selected account, because of an authentication or network problem. | Verify the subdomain and credentials in the account, and that the Snaplex can reach your Zendesk instance. Then run the pipeline again. |
| Authentication failed. | Zendesk rejected the account credentials with HTTP 401 (Unauthorized). | Verify the credentials in the account, then run the pipeline again. |
| Invalid request. | Zendesk rejected the request with HTTP 400 (Bad Request) or HTTP 422
(Unprocessable Entity). The reason field in the error document
shows which. |
Review the Snap settings and the values in the input document, correct any value that Zendesk does not accept, and run the pipeline again. |
| Access denied. | Zendesk returned HTTP 403 (Forbidden). The Zendesk user behind the account does not have permission for the requested resource. | Use an account whose Zendesk user has at least the Agent role, or the permissions the operation requires. |
| Resource not found. | Zendesk returned HTTP 404 (Not Found). The ID in the Snap settings or input document does not exist in your Zendesk instance, or the record was deleted. | Verify the ID, and make sure the record still exists in Zendesk. |
| Rate limit exceeded. | Zendesk returned HTTP 429 (Too Many Requests), and the rate limit was still exceeded after the Snap's automatic retries. | Reduce the volume of requests, for example by retrieving fewer records per run, or schedule the pipeline outside peak hours. |
| Zendesk server error. | Zendesk returned HTTP 500, 502, 503, or 504, and the error persisted after the configured retries. | Wait a few minutes and run the pipeline again. If the error recurs, increase Retry attempts or Retry interval (seconds). |
| Network error while calling Zendesk. | The Snap could not reach Zendesk, for example because of a connection timeout or a DNS failure. | Verify that the Snaplex can reach your Zendesk instance, then run the pipeline again. |
| The <field> provided is not valid | An ID field, such as User ID or Ticket ID, received a value that is not a whole number. Zendesk ID fields accept integer values only. | Enter the numeric Zendesk ID, or fix the expression so that it evaluates to one. |
| Ticket ID is required. | Ticket ID is empty, or evaluates to no IDs, for the input document. | Enter a ticket ID. When Apply same data to multiple tickets is selected, enter a comma-separated list of ticket IDs. |
| Data path: Invalid expression result: <expression> -> null | The input document has no value at the location that Data path points to. | Fix the Data path expression so that it matches the structure of the input document, or map the ticket changes to that location in an upstream Snap. |
| No ticket data resolved from the configured Data path. | The value at Data path is not a single ticket object. An array is not accepted. | Point Data path to a single ticket object. |
An error document whose error field holds a Zendesk error
code, with the cause in the details field. |
A background job finished, but Zendesk could not update one of the tickets in it. | Correct the ticket ID or data that details identifies, then
resubmit that ticket. The other tickets in the job were updated. |
| Zendesk bulk job <job ID> did not complete successfully. | Zendesk reported the background job as failed. The
reason field shows the job status and Zendesk's
message. |
Correct the input that the message identifies, then run the pipeline again. |
| Timed out waiting for Zendesk bulk job <job ID> to complete. | The background job did not finish within 100 status checks. | Check the job's status in Zendesk before you rerun the pipeline, because the job may still complete and apply the updates. To wait longer, increase Retry interval (seconds). |