Zendesk automation: triggers, automations, macros and routing
By Roman Zakharenko · Facts checked
Zendesk automation is built from three business-rule tools: triggers that fire immediately when a ticket is created or updated, automations that run on an hourly schedule, and macros that agents apply by hand. Routing (omnichannel or skills-based), webhooks and the Zendesk API cover what those rules can't do on their own. Below is how each piece behaves and what is worth automating first.
At a glance
- Ticket triggers run immediately after a ticket is created or updated, in the order they are listed.
- Automations run once every hour on non-closed tickets, and each one can act on up to 1,000 tickets per hour.
- Every automation needs a condition that is true only once, or an action that nullifies a condition, or it keeps firing.
- Macros contain only actions, no conditions, and can only do what the agent applying them is allowed to do.
- A webhook connects either to Zendesk events or to triggers and automations, not both.
Triggers vs automations vs macros
All three tools change tickets, but they start differently. Zendesk's own framing: the difference between triggers and automations is not which actions they can perform, but which conditions set them off. Macros have no conditions at all, because nothing evaluates the ticket automatically. An agent decides when to apply one.
| Tool | What starts it | Conditions | Typical use |
|---|---|---|---|
| Trigger | A ticket is created or updated (runs immediately) | Yes | Routing new tickets, setting fields, sending notifications |
| Automation | Hourly schedule, based on time elapsed | Yes, usually 'Hours since' conditions | Reminders, escalating stale tickets, closing solved tickets |
| Macro | An agent applies it manually | No, actions only | Canned replies and repeatable multi-field updates |
The three combine well. A common pattern is a macro that adds a tag, which then immediately sets off a trigger that looks for that tag. Note that a macro can only do what the current user is permitted to do, so an agent with limited permissions may not be able to apply every change a macro contains.
How trigger order works
Every time a ticket is created or updated, all ticket triggers run against it in a cycle, in the order they are listed. If a trigger updates the ticket, the cycle starts over and every trigger runs again, except the ones that have already fired and updated the ticket. So one trigger's change can make another trigger's conditions true, even if they weren't true a moment earlier.
Zendesk's recommended order for ticket triggers:
- Triggers that change ticket values such as status, priority or other fields.
- Triggers that assign the ticket.
- Notification triggers, last, so emails and messages reflect the ticket's final state.
If you use trigger categories, the order of the categories must match the order you want triggers to run in; you change it with Edit order on the triggers list. Use the condition Ticket | Is | Created for rules that should act only on new tickets (routing is the classic case), and Ticket | Is | Updated for things like update notifications. Ticket triggers don't run on closed tickets.
How often Zendesk automations run, and how to stop loops
Automations run once every hour on all non-closed tickets. The timing is approximate: an automation starts at some point during the hour, not at a fixed minute. Each automation can act on up to 1,000 tickets per hour, and any overflow waits for later runs.
Because automations re-check the same tickets every hour, Zendesk requires each one to include a condition that is true only once or an action that nullifies at least one condition. Without it, the conditions keep matching and the automation fires in an endless loop. The standard 'close ticket after solved' automation does this naturally: closing the ticket removes it from the 'Status is Solved' condition. For custom automations, the usual fix is to add a tag and exclude that tag in the conditions.
For time conditions, Zendesk recommends 'Hours since ... greater than' over 'Hours since ... is'. An 'is' condition can be missed entirely if the automation doesn't run during that exact hour. A greater-than condition still needs a nullifying action or tag.
Routing options for incoming tickets
Triggers can route tickets by setting a group, an assignee or skills, but Zendesk also has dedicated routing features:
- Omnichannel routing pushes tickets from email, calls and messaging to agents based on their availability and capacity, and can also consider priority and skills.
- Skills can be added to tickets by triggers and marked required or optional. Required skills limit which agents are eligible; optional skills can time out so the ticket falls back to the normal routing model.
- Standalone skills-based routing is a pull model: tickets are sorted by skill and agents pick work from skill-based views. It can't be used with voice or messaging tickets.
For calls, omnichannel routing is the only way triggers can influence routing, because a ticket is created as soon as a call enters the queue. Routing features differ by plan, so confirm what your plan includes before you design around skills.
Webhooks and the Zendesk API
When a rule needs to tell another system something, use a webhook. You create it in Admin Center and pick its connection type: Zendesk events, or trigger or automation. A webhook can use one of those, not both, and you can't change the connection method later. In a trigger or automation, add the 'Notify webhook' action, select the webhook and enter the payload. Request bodies can be JSON, XML or form-encoded, and the payload can't exceed 16,000 characters. Each webhook has a Test webhook option for checking the request before it goes live.
When the logic needs to read data, make decisions in code or write back to tickets, use the Ticketing API. Tickets are created with a POST to the tickets endpoint and updated with a PUT to the ticket's own URL, with bulk variants for many tickets at once. Requests can authenticate with an OAuth access token sent in a Bearer header.
Good first candidates for Zendesk automation:
- Routing new tickets to the right group by channel, form, language or keywords.
- Reminders and escalations for tickets that have waited too long for a reply.
- Posting high-priority or VIP tickets to a Slack channel through a webhook.
- Pulling order or account data into a ticket through the API before an agent opens it.
Getting this built
TascaLab works on top of your existing Zendesk account, with no platform switch, using the Zendesk API, webhooks and Make or n8n where they fit. Ticket Routing & Categorization is a one-time project at $775; Custom Automation for flows that span several systems is from $1,200. Every project includes 30 days of post-launch support, basic documentation and no hidden fees, and most setups take 1–3 weeks. You can start with a free 30-minute Health Check call.
Frequently asked questions
How often do Zendesk automations run?
Once every hour, on all non-closed tickets. The exact minute within the hour varies, and each automation can act on up to 1,000 tickets per hour.
What is the difference between a Zendesk trigger and an automation?
Triggers are event-based and run immediately when a ticket is created or updated. Automations are time-based and run hourly. Both can perform the same kinds of actions.
Why does my Zendesk automation keep firing on the same ticket?
It is probably missing a nullifying condition or action. Add an action that makes one of its conditions false, for example a tag that the conditions exclude.
Can a Zendesk trigger call an external system?
Yes. Create a webhook connected to triggers and automations, then add the 'Notify webhook' action to the trigger with the payload you want to send.
Do trigger categories change the order triggers run in?
Yes. Triggers run in list order, and the order of categories must match the order you want them to run in. You change it with Edit order on the ticket triggers list.
Want this set up for your team?
Book a free Health Check: a 30-minute call and a written report with 2–3 concrete recommendations, a fixed price and estimated running costs. No pitch.
Sources
- Zendesk Help Center — About automations and how they work
- Zendesk Help Center — About Zendesk triggers and how they work
- Zendesk Help Center — Creating macros for repetitive ticket responses and actions
- Zendesk Help Center — Using the "Hours since" condition in automations
- Zendesk Help Center — Managing trigger categories for ticket triggers
- Zendesk Help Center — Routing and automation options for incoming tickets
- Zendesk Help Center — Creating webhooks to interact with third-party systems
- Zendesk Developer Docs — Creating and updating tickets