Reference · Tools
Zendesk Trigger
Starts workflow when Zendesk Support ticket events occur via webhooks
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.
- Node type
- Webhook trigger
- Parameters
- 4
- Outputs
- Output
- Credentials
- Zendesk
Zendesk Trigger
Triggers on Zendesk Support ticket events based on configurable conditions
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.
Category: Communication
Tool Name: zendesk_trigger
Version: 1
Appearance: Icon: si-zendesk | Color: #03363d
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"] }}.
Usage Examples
- Start a workflow when a Zendesk ticket status changes to solved
- Trigger an escalation when a ticket priority is set to urgent
- Notify a Slack channel when a new ticket is assigned to a specific group
- Sync ticket updates to a CRM when the assignee changes
- Send a follow-up email when a ticket is closed
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
Entry point that fires when Zendesk sends a webhook for ticket events matching your configured conditions. Set up conditions using ALL (AND) and ANY (OR) logic on ticket fields like status, priority, type, group, and assignee. Choose which ticket data fields to include in the payload (title, description, requester info, assignee info, etc.). Supports HMAC-SHA256 signature verification for secure webhook delivery.
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 the Zendesk Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Zendesk credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.