Reference · Tools

Zendesk Trigger

Starts workflow when Zendesk Support ticket events occur via webhooks

Webhook trigger Communication v1

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

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Zendesk credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
AuthenticationoptionsNoapiTokenAuthentication method to use for Zendesk API calls.
Options: apiToken
ServiceoptionsYessupportThe Zendesk service to receive events from.
Options: support
ConditionsfixedCollectionNo{}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)
— ResourceoptionsNoticketThe Zendesk resource the condition applies to.
Options: ticket
— FieldoptionsNostatusThe ticket field to evaluate. (shown when Resource is ticket)
Options: assignee, group, priority, status, type
— OperationoptionsNoisThe 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)
— ValuestringNoThe 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.
OptionscollectionNo{}Additional options for the trigger. (shown when Service is support)
— FieldsmultiOptionsNo[]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 — always zendesk_webhook
  • _timestamp — ISO 8601 timestamp of when the notification was received
  • _webhookEvent — always ticket_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 conditions parameter groups its entries under the all and/or any keys; all is AND logic and any is OR logic
  • The options parameter is a flat object — put fields directly inside it
  • Both conditions and options are only available when service is set to "support"
  • Authentication is "apiToken"; OAuth2 is not currently supported
  • The fields array 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 BusyBot

Last updated . Spotted something wrong? Tell us.