This article covers the Zendesk workflow actions for creating, updating, commenting on, merging, and searching tickets, plus applying macros and managing due dates. For user and organization actions, see how to manage Zendesk users and organizations from HappyFox Workflows.
Validation note legend
| Term | Meaning |
|---|---|
| Required | The workflow cannot run this action if the field is blank. |
| Optional | You may leave this field empty; the action will still run. |
| Text | A plain-text value (single line or variable reference). |
| List of objects | One or more rows, each with sub-fields (for example, a custom field ID + value pair). |
| Object | A single structured item with named sub-fields. |
Actions
Create Ticket
Creates a brand-new Zendesk ticket. If you supply a Requester Email, the action looks up that user by email and sets them as the requester. You can also create a new requester on the fly using Requester Name and New Requester Email.
| Field | Description | Validation |
|---|---|---|
| Subject | The ticket subject line. | Required · Text |
| Message | The initial comment/description body of the ticket. HTML is accepted. | Required · Text |
| Status | Initial ticket status. Defaults to new if not provided. Common values: new, open, pending, solved. |
Optional · Text |
| Priority | Ticket priority level. Defaults to normal if not provided. Common values: low, normal, high, urgent. |
Optional · Text |
| Type | Ticket type. Common values: problem, incident, question, task. |
Optional · Text |
| Requester Email | Email address of an existing Zendesk user to set as the requester. The action searches for a matching user; the action fails if no match is found. | Optional · Text |
| Requester Name | Display name for a new (non-existing) requester. Used together with New Requester Email to create the requester inline. | Optional · Text |
| New Requester Email | Email address for the new inline requester. If only email is provided, the username portion of the email is used as the name. | Optional · Text |
| Assignee | The Zendesk agent ID (or name/email resolved via integration metadata) to assign the ticket to. | Optional · Text |
| Tags | One or more tags to attach to the ticket. Supply as a comma-separated list or a list variable. | Optional · Text |
| Custom Fields | Zendesk custom field values to set at creation time. Each row includes ID (the Zendesk custom field ID) and Value (for dropdown fields, the option value; for multiselect fields, a comma-separated list of option values). | Optional · List of objects |
Update Ticket
Updates an existing Zendesk ticket. Only the fields you fill in are changed; blank fields are ignored.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket to update. | Required · Text |
| Subject | New subject line for the ticket. | Optional · Text |
| Status | New ticket status. Common values: open, pending, on-hold, solved, closed. |
Optional · Text |
| Priority | New priority level. Common values: low, normal, high, urgent. |
Optional · Text |
| Type | New ticket type. Common values: problem, incident, question, task. |
Optional · Text |
| Requester Email | Email of an existing user to set as the requester. The action fails if no match is found. | Optional · Text |
| Assignee | Agent ID (or name/email) to reassign the ticket to. | Optional · Text |
| Due At | Due date for the ticket. Supply either a plain date (YYYY-MM-DD) or a whole number of days from today (for example, 3 means three days from now). |
Optional · Text |
| Comment | A public reply to add to the ticket. HTML is accepted. | Optional · Text |
| Tags | Tags to apply to the ticket. Replaces existing tags. Comma-separated list or list variable. | Optional · Text |
| Custom Fields | Custom field values to update. Each row includes ID and Value. | Optional · List of objects |
Add Comment
Adds a public comment to an existing ticket, and optionally updates other ticket properties at the same time. Shares the same fields as Update Ticket.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket to comment on. | Required · Text |
| Comment | The public comment text to post. HTML is accepted. | Optional · Text |
| Subject | New subject line for the ticket. | Optional · Text |
| Status | New ticket status. | Optional · Text |
| Priority | New priority level. | Optional · Text |
| Type | New ticket type. | Optional · Text |
| Requester Email | Email of an existing user to set as requester. | Optional · Text |
| Assignee | Agent ID (or name/email) to assign the ticket to. | Optional · Text |
| Due At | Due date (date string or number of days from today). | Optional · Text |
| Tags | Tags to apply to the ticket. Comma-separated. | Optional · Text |
| Custom Fields | Custom field values to update. Each row includes ID and Value. | Optional · List of objects |
Add Internal Note
Adds a private (internal) note to an existing ticket that is only visible to agents — never to the requester. Like Update Ticket, other ticket properties can be changed at the same time.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket to add the note to. | Required · Text |
| Comment | The internal note text. Not visible to the requester. HTML is accepted. | Optional · Text |
| Subject | New subject line. | Optional · Text |
| Status | New ticket status. | Optional · Text |
| Priority | New priority level. | Optional · Text |
| Type | New ticket type. | Optional · Text |
| Tags | Tags to apply to the ticket. Comma-separated. | Optional · Text |
| Custom Fields | Custom field values to update. Each row includes ID and Value. | Optional · List of objects |
Set Ticket Fields
Updates only the custom fields on an existing ticket, without touching any other ticket properties. Use this when you specifically need to bulk-set custom field values.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket whose custom fields you want to update. | Required · Text |
| Custom Fields | The custom field values to set. Each row includes ID and Value. | Required · List of objects |
Search Tickets
Searches Zendesk tickets using a query string and returns the first matching ticket's data for use in subsequent workflow steps.
| Field | Description | Validation |
|---|---|---|
| Search Text | The Zendesk search query to run (for example, status:open subject:refund). Follows standard Zendesk search syntax. |
Required · Text |
Merge Tickets
Merges one or more source tickets into a single target ticket. Optionally posts a comment on the target and/or source tickets explaining the merge.
| Field | Description | Validation |
|---|---|---|
| Target Ticket ID | The ID of the ticket that will survive the merge. All source tickets are closed and their data is moved here. | Required · Text |
| Source Ticket IDs | A comma-separated list of ticket IDs to merge into the target (for example, 1001,1002,1003). |
Required · Text |
| Target Comment | A comment to post on the target ticket after the merge. | Optional · Text |
| Source Comment | A comment to post on each source ticket after the merge — typically to explain to the requester what happened. | Optional · Text |
Warning: Merging tickets is not reversible from within the workflow. Source tickets are closed and their data is moved to the target ticket as part of the merge.
Clear Due Date
Removes the due date from an existing Zendesk ticket, leaving the due_at field blank.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket whose due date should be cleared. | Required · Text |
Set Due Date
Sets or updates the due date on an existing Zendesk ticket. You can supply a specific calendar date or a number of days from today.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket to update. | Required · Text |
| Due At | The due date to set. Supply either a date string in YYYY-MM-DD format or a whole number representing days from today (for example, 5 sets the due date five days from now). If the value can't be parsed as a number, it's used as a literal date string. |
Required · Text |
Apply Macro to a Ticket
Applies a Zendesk macro to an existing ticket. Macros are pre-configured sets of actions in Zendesk — for example, changing status, adding a comment, and setting tags — applied in one step.
| Field | Description | Validation |
|---|---|---|
| Ticket ID | The ID of the ticket to apply the macro to. | Required · Text |
| Macro | The Zendesk macro to apply. Select it from the autocomplete picker in the workflow builder. Includes a sub-field, ID, populated automatically with the macro's internal ID. | Required · Object |
Your workflow can now create, update, comment on, merge, and search Zendesk tickets, and apply macros. Next, see how to manage Zendesk users and organizations from HappyFox Workflows to cover the rest of the Zendesk action set.