Auto-triage and tag Zendesk tickets using native triggers

low complexityCost: $0 (included)Recommended

Prerequisites

Prerequisites
  • Zendesk account on Team plan or above (triggers are not available on the Essential plan)
  • Groups configured in Zendesk for each topic area your support team handles

Why Zendesk native?

Zendesk triggers are the simplest, fastest, and cheapest way to triage tickets. They fire instantly when a ticket is created — zero delay, zero cost, zero external dependencies. You define keyword conditions and Zendesk handles the rest. For teams where 80%+ of tickets contain clear topic keywords, triggers alone handle triage reliably.

The trade-off is classification accuracy. Triggers match exact strings, so "my parcel never showed up" won't match a "shipping" keyword trigger unless you add every possible phrasing. For tickets that slip through keyword matching, pair triggers with the Claude Code approach to catch the rest.

How it works

  • One trigger per topic fires when a new ticket's subject or description contains topic keywords
  • Tag + group assignment in each trigger's actions classifies the ticket and routes it to the right team
  • Catch-all trigger at the bottom of the trigger list tags anything that no topic trigger matched
  • Trigger ordering controls which group assignment wins when a ticket matches multiple topics

Step 1: Define your topic-to-keyword mapping

Before building triggers, map each support topic to the keywords that signal it. Here's a practical starting set:

TagKeywords
topic-billinginvoice, charge, billing, payment, receipt, subscription, refund, pricing
topic-shippingtracking, delivery, shipping, package, lost, delayed, transit, shipment
topic-productbroken, defective, doesn't work, quality, size, color, damaged, wrong item
topic-accountpassword, login, account, access, locked out, sign in, reset, two-factor
topic-technicalerror, bug, crash, not loading, API, integration, timeout, 500

Keep it to 5 topics initially. You can always add more once the basics are running.

Step 2: Create groups in Zendesk

Navigate to Admin Center → People → Teams → Groups. Create one group per topic:

  • Billing Support
  • Shipping Support
  • Product Support
  • Account Support
  • Technical Support
  • General Support (for unmatched tickets)

Assign at least one agent to each group so tickets can be routed.

Step 3: Create the first trigger (Billing example)

Navigate to Admin Center → Objects and rules → Business rules → Triggers. Click Add trigger.

Trigger name: Triage: Billing

Conditions — Meet ANY of the following:

Condition typeFieldOperatorValue
TicketSubject textContains the following stringinvoice
TicketSubject textContains the following stringcharge
TicketComment textContains the following stringbilling
TicketComment textContains the following stringpayment
TicketComment textContains the following stringreceipt
TicketComment textContains the following stringsubscription

Under "Meet ALL of the following," add:

Condition typeFieldOperatorValue
TicketTicketIsCreated

Actions:

ActionValue
Add tagstopic-billing
GroupBilling Support

Click Create trigger.

Use 'ANY' for keyword conditions

Set the keyword conditions under the ANY block. A ticket mentioning "invoice" alone should get the billing tag — it doesn't need to also mention "payment." The "Ticket is Created" condition belongs in the ALL block so the trigger only fires on new tickets.

Step 4: Create triggers for remaining topics

Repeat the same pattern for each topic. Here are the keyword sets to use:

Triage: Shipping

  • Subject/comment keywords: tracking, delivery, shipping, package, lost, delayed, transit, shipment
  • Tag: topic-shipping
  • Group: Shipping Support

Triage: Product

  • Subject/comment keywords: broken, defective, doesn't work, quality, size, color, damaged, wrong item
  • Tag: topic-product
  • Group: Product Support

Triage: Account

  • Subject/comment keywords: password, login, account, access, locked out, sign in, reset, two-factor
  • Tag: topic-account
  • Group: Account Support

Triage: Technical

  • Subject/comment keywords: error, bug, crash, not loading, API, integration, timeout
  • Tag: topic-technical
  • Group: Technical Support

Each trigger follows the same structure: ALL conditions include "Ticket is Created," ANY conditions list the keywords, and actions add the tag and set the group.

Step 5: Set trigger ordering

Navigate to Admin Center → Objects and rules → Business rules → Triggers and click Reorder.

Drag triggers into this order (top to bottom):

  1. Triage: Technical
  2. Triage: Product
  3. Triage: Account
  4. Triage: Billing
  5. Triage: Shipping
  6. Triage: Uncategorized (created in the next step)
Trigger ordering matters

Zendesk evaluates and fires all matching triggers in list order. A ticket can receive multiple tags if it matches multiple triggers. However, the last trigger to set a group assignment wins. Place your most specific triggers (Technical) above broader ones (Shipping) so the group assignment reflects the most precise match.

Step 6: Add a catch-all trigger

Create one final trigger to flag tickets that no keyword trigger matched:

Trigger name: Triage: Uncategorized

Conditions — Meet ALL of the following:

Condition typeFieldOperatorValue
TicketTicketIsCreated
TicketTagsContains none of the followingtopic-billing topic-shipping topic-product topic-account topic-technical

Actions:

ActionValue
Add tagstopic-uncategorized
GroupGeneral Support
The catch-all trigger must be last in your trigger list

If the catch-all runs before your topic triggers, every ticket gets tagged "topic-uncategorized" before the topic triggers can classify it. Zendesk evaluates the catch-all's conditions at the time it runs — if topic triggers haven't fired yet, the tag won't exist. Always keep this trigger at the bottom of your trigger list.

Step 7: Test the triggers

Create test tickets for each topic to verify everything works:

  1. Send an email to your Zendesk support address with subject "Question about my invoice"
  2. Open the ticket in Zendesk — verify the topic-billing tag was applied and it's assigned to Billing Support
  3. Repeat for each topic using relevant keywords
  4. Send a vague message like "Hi, I have a question" — verify the topic-uncategorized tag fires and it's assigned to General Support

Check the Events section on each ticket to see which triggers fired and in what order. This is the fastest way to debug when a ticket gets the wrong tag.

Create Views for each topic

Tags are most useful when agents can filter by them. Go to Admin Center → Workspaces → Agent workspace → Views and create a View per topic. Set the filter to "Tags contains topic-billing" (or the relevant tag) and "Status is Open." Each sub-team gets a focused queue showing only their tickets.

Troubleshooting

Common questions

How many topic triggers should I start with?

Start with 5. More than 10 triggers becomes hard to manage and debug. If you need finer classification, consider the Claude Code approach for AI-powered triage instead of adding more keyword triggers.

What accuracy should I expect from keyword matching?

Keyword triggers typically achieve 70-85% accuracy on English-language tickets with clear subject lines. Accuracy drops for vague tickets ("I need help"), multilingual tickets, and tickets where the topic is only clear from the body text. Track your accuracy by comparing auto-assigned tags to final tags after agent review.

Can I use triggers to set priority too?

Yes. Add a priority condition or action to your triggers. For example, tickets mentioning "urgent" or "down" could be set to High priority. Keep priority logic in separate triggers from topic triggers to avoid complex condition combinations.

Cost

Zendesk triggers are included in all plans that support them (Team plan and above) at no additional cost.

Looking to scale your AI operations?

We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.