Reference · Tools
Zendesk trigger
Receives webhook notifications from Zendesk Support to start a workflow when ticket conditions are met.
The Zendesk Trigger fires when a ticket event matches the conditions you configure, using ALL (AND) and ANY (OR) logic across fields such as status, priority, type, group and assignee. A typical build is escalating to a channel whenever an urgent ticket goes unassigned.
- Works as
- Webhook trigger
- Tool name
zendesk_trigger- Parameters
- 4
- Outputs
- Output
- Credentials
- Zendesk
- Official docs
- Zendesk docs developer.zendesk.com
What you can build with Zendesk
- Start a workflow when a Zendesk ticket status changes to solved.
- Trigger an escalation when a ticket priority is set to urgent.
- When notify a Slack channel when a new ticket is assigned to a specific group.
- When sync ticket updates to a CRM when the assignee changes.
- When send a follow-up email when a ticket is closed.
Overview
Receives webhook notifications from Zendesk Support when ticket conditions are met. Zendesk triggers are condition-based: you define conditions on ticket fields (status, priority, type, group, assignee) using operators (is, is_not, changed, not_changed, greater_than, less_than, etc.) with AND/OR logic. When conditions match, Zendesk sends a POST with the configured ticket fields as a JSON payload. The webhook payload is customizable — by default only ticket.id is included, but you can select from 40+ placeholder fields covering ticket, requester, assignee, organization, current user, and satisfaction data. Supports HMAC-SHA256 signature verification via X-Zendesk-Webhook-Signature header. Useful for automating ticket routing, escalation, SLA monitoring, customer notifications, CRM sync, and support analytics workflows.
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Zendesk credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Authentication | options | No | apiToken | Authentication method to use for Zendesk API calls. |
Options: apiToken | ||||
| Service | options | Yes | support | The Zendesk service to receive events from. |
Options: support | ||||
| Conditions | fixedCollection | No | {} | The conditions that must be met for the trigger to fire. Use “All” for AND logic and “Any” for OR logic. Each condition is added under the all key or the any key, and both groups can be used together. (shown when Service is support) |
| — Resource | options | No | ticket | The Zendesk resource the condition applies to. |
Options: ticket | ||||
| — Field | options | No | status | The ticket field to evaluate. (shown when Resource is ticket) |
Options: assignee, group, priority, status, type | ||||
| — Operation | options | No | is | The comparison operation for the condition. |
Options: changed, value_previous (changed from), value (changed to), greater_than, is, is_not, less_than, not_changed, not_value_previous (not changed from), not_value (not changed to) | ||||
| — Value | string | No | — | The value to compare against. For status: new, open, pending, solved, closed. For priority: low, normal, high, urgent. For type: question, incident, problem, task. For group/assignee: enter the ID. |
| Options | collection | No | {} | Additional options for the trigger. (shown when Service is support) |
| — Fields | multiOptions | No | [] | Which ticket data fields to include in the webhook payload. If none selected, only ticket.id is sent. |
Options: ticket.title, ticket.description, ticket.url, ticket.id, ticket.external_id, ticket.via, ticket.status, ticket.priority, ticket.ticket_type, ticket.group.name, ticket.brand.name, ticket.due_date, ticket.account, ticket.assignee.email, ticket.assignee.name, ticket.assignee.first_name, ticket.assignee.last_name, ticket.requester.name, ticket.requester.first_name, ticket.requester.last_name, ticket.requester.email, ticket.requester.language, ticket.requester.phone, ticket.requester.external_id, ticket.requester.requester_field, ticket.requester.details, ticket.organization.name, ticket.organization.external_id, ticket.organization.details, ticket.organization.notes, ticket.ccs, ticket.cc_names, ticket.tags, ticket.current_holiday_name, current_user.name, current_user.first_name, current_user.email, current_user.organization.name, current_user.organization.details, current_user.organization.notes, current_user.language, current_user.external_id, current_user.notes, satisfaction.current_rating, satisfaction.current_comment |
Output Data
Each accepted notification produces one output item. Zendesk sends the placeholder fields you selected under Fields as plain key-value pairs, so the item carries one key per selected field — for example ticket.id, ticket.status, ticket.requester.email. With no fields selected, only ticket.id arrives.
These fields are added on top:
_trigger— alwayszendesk_webhook_timestamp— ISO 8601 timestamp of when the notification was received_webhookEvent— alwaysticket_condition_met
Because the field keys contain dots, address them with bracket notation downstream, e.g. {{ $json["ticket.requester.email"] }}.
Example Configuration
The simplest configuration — fires on every ticket event, sending only ticket.id:
{
"type": "zendesk_trigger",
"parameters": {
"service": "support"
}
}
A single condition on ticket status:
{
"id": "zendesk-trigger",
"type": "zendesk_trigger",
"typeVersion": 1,
"position": [0, 0],
"parameters": {
"service": "support",
"authentication": "apiToken",
"conditions": {
"all": [
{
"resource": "ticket",
"field": "status",
"operation": "is",
"value": "open"
}
]
}
}
}
Multiple AND conditions, with a custom payload:
{
"id": "zendesk-trigger",
"type": "zendesk_trigger",
"typeVersion": 1,
"position": [0, 0],
"parameters": {
"service": "support",
"authentication": "apiToken",
"conditions": {
"all": [
{
"resource": "ticket",
"field": "status",
"operation": "is",
"value": "new"
},
{
"resource": "ticket",
"field": "priority",
"operation": "is",
"value": "urgent"
}
]
},
"options": {
"fields": ["ticket.id", "ticket.title", "ticket.description"]
}
}
}
OR logic — fire when the priority is either urgent or high:
{
"id": "zendesk-trigger",
"type": "zendesk_trigger",
"typeVersion": 1,
"position": [0, 0],
"parameters": {
"service": "support",
"authentication": "apiToken",
"conditions": {
"any": [
{
"resource": "ticket",
"field": "priority",
"operation": "is",
"value": "urgent"
},
{
"resource": "ticket",
"field": "priority",
"operation": "is",
"value": "high"
}
]
}
}
}
AND and OR combined — new tickets that are urgent or high priority:
{
"id": "zendesk-trigger",
"type": "zendesk_trigger",
"typeVersion": 1,
"position": [0, 0],
"parameters": {
"service": "support",
"authentication": "apiToken",
"conditions": {
"all": [
{
"resource": "ticket",
"field": "status",
"operation": "is",
"value": "new"
}
],
"any": [
{
"resource": "ticket",
"field": "priority",
"operation": "is",
"value": "urgent"
},
{
"resource": "ticket",
"field": "priority",
"operation": "is",
"value": "high"
}
]
},
"options": {
"fields": [
"ticket.id",
"ticket.title",
"ticket.requester.email",
"ticket.assignee.email"
]
}
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
This tool receives webhooks from Zendesk Support when ticket events occur. It is ideal for initiating workflows based on specific ticket conditions, such as status changes or priority updates, rather than directly querying ticket data. The tool produces a JSON payload containing customizable ticket field data, which can include details about the ticket, requester, and assignee.
Important Notes
- The
conditionsparameter groups its entries under thealland/oranykeys;allis AND logic andanyis OR logic - The
optionsparameter is a flat object — putfieldsdirectly inside it - Both
conditionsandoptionsare only available whenserviceis set to"support" - Authentication is
"apiToken"; OAuth2 is not currently supported - The
fieldsarray controls which ticket fields are included in webhook payloads; values must be chosen from the 45 supported field options listed above (e.g.,"ticket.id","ticket.title","ticket.requester.email")
Frequently asked questions
How precise can the conditions be?
Quite precise — ALL and ANY logic combines across ticket fields including status, priority, type, group and assignee, so the workflow only wakes for cases that genuinely match.
Can I control what is in the payload?
Yes — choose which ticket data fields to include, such as title, description, requester and assignee information.
Are payloads verified?
HMAC-SHA256 signature verification is supported, so deliveries can be confirmed as genuinely from Zendesk.
Which credential does it need?
A Zendesk credential, the same one the action node uses.
Build with Zendesk
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Zendesk credentials first.
Open BusyBotLast reviewed . Spotted something wrong? Tell us.