Macha

Auto-Categorise Zendesk Tickets by Type with AI (Problem / Incident / Question / Task)

Abbas, Customer Support & AI, Macha

Written by

Ankeet Guha, Co-founder & CTO, Macha

Reviewed by

Published July 22, 2026

Updated July 22, 2026

Zendesk's Type field is one of the most useful fields in the whole product and one of the least consistently filled in. It has four built-in values — Problem, Incident, Question, and Task — and each one drives real workflow: a Problem ticket can be the parent of many linked Incidents, so when you solve the Problem, [every linked Incident solves with it](https://support.zendesk.com/hc/en-us/articles/4408835103898-Working-with-problem-and-incident-tickets); a Task carries a due date; a Question routes to people who answer questions, not engineers. The catch is that someone has to set the type, and on a busy queue almost nobody does. Tickets pile up as a featureless wall of "—".

Auto-Categorise Zendesk Tickets by Type with AI (Problem / Incident / Question / Task)

You can paper over this with native Zendesk automations, but they run on an hourly schedule and match on keywords, which is exactly the wrong tool for reading what a customer actually meant. The cleaner answer is to let an AI agent read each new ticket and set the type the moment it lands. As of the May 2, 2026 release, Macha ships the exact tool for it: Update Ticket Type, a write action that sets a Zendesk ticket to problem, incident, question, or task without you ever touching a custom field.

This post is a tool deep-dive: what the four types actually mean, why native triage falls short, how to wire up an AI triage agent that categorises every incoming ticket, and where this approach has sharp edges you should know about before you turn it on.

First, what the four Zendesk ticket types mean

Categorisation is only useful if the categories mean the same thing every time. Zendesk's four types have specific, opinionated definitions — and the problem/incident pairing is the one teams most often get wrong.

TypeWhat it's forExample
QuestionA general inquiry or information request — nothing is broken."How do I change my billing email?"
ProblemThe root cause of an issue that's likely affecting many customers."Checkout is failing for all EU customers."
IncidentOne customer's report of a wider Problem; can be linked to a parent Problem ticket."I couldn't check out this morning" (one of fifty reports of the EU outage).
TaskAn internal to-do with a due date — follow-up work, a scheduled call."Call the customer back Friday to confirm the refund."

The reason the Type field beats a custom dropdown is the Problem ↔ Incident link: solve the parent Problem and all linked Incidents close automatically, so you don't update fifty customers by hand. A custom field can label tickets all day but it can't trigger that cascade — only the native Type field can. That's the whole argument for setting the real field rather than a tag.

A real Zendesk ticket — the native fields panel on the left is where Type, Priority and tags live, and where an AI triage agent writes its decision.
A real Zendesk ticket — the native fields panel on the left is where Type, Priority and tags live, and where an AI triage agent writes its decision.

Why native Zendesk triage isn't enough

Zendesk gives you two built-in ways to set type automatically: triggers (real-time, fire on create/update) and automations (time-based, run on a schedule). Both are rule engines, and rules have well-known limits when the input is free-form human language:

  • Automations run hourly, not instantly. A ticket can sit untyped for up to an hour before the rule sweeps it — which defeats the point of routing fast.
  • They match on keywords, not meaning. "It's down" and "I can no longer reach the dashboard" describe the same incident with zero shared keywords. Rules miss the second one.
  • Hard ceilings. Zendesk automations carry a 65KB rule-size limit and cannot set the problem_id that links an Incident to its parent Problem, nor set a Task's due date directly. The most valuable part of the Type field — the Problem/Incident link — is out of reach for a plain automation.

The result is the familiar compromise: a handful of brittle keyword rules that catch the obvious cases and leave the rest untyped. AI changes the input side of that equation — it reads the ticket the way a human triager would and picks the type from intent, not string matches.

The tool: Update Ticket Type

Macha is an AI agent layer on top of Zendesk — not a replacement for it. You keep Zendesk; Macha adds agents that read tickets and take real actions through tools. The May 2 release added three of those tools, all aimed at triage:

  • Update Ticket Type — sets the ticket's type to problem, incident, question, or task. The headline tool for this post.
  • List Groups — a read tool that returns every active Zendesk group, so an agent can resolve a group name to its ID before routing.
  • Assign Ticket — now accepts a group, an agent, or both, so you can route a ticket straight to the "Billing" or "Tier 2" queue instead of always picking a named person.

Those three are designed to be used together: read the ticket, decide the type, set it, and route it to the right queue — all in one autonomous pass. You add them to an agent from the Tools picker, alongside the rest of Macha's Zendesk toolset.

Macha's Add Tools picker on a Zendesk-connected agent — the write tools that let an agent set status, subject, type, and route a ticket.
Macha's Add Tools picker on a Zendesk-connected agent — the write tools that let an agent set status, subject, type, and route a ticket.

Building a triage agent that sets the type

Here's the end-to-end setup. The goal is a single autonomous agent that fires on every new ticket, classifies it, and writes the type back — no human in the loop for the categorisation step.

1. Connect Zendesk and create the agent

Connect Zendesk to Macha via OAuth (or an API token), then create a new agent — call it Ticket Triage. Give it crisp instructions about your taxonomy, because the four types are deliberately broad and your team has conventions Zendesk doesn't know about. For example:

Read each new ticket and set its Type. Use Problem only when the customer describes a systemic failure likely to affect many users. Use Incident for a single user reporting an outage or bug that matches a known Problem. Use Question for how-to and account inquiries where nothing is broken. Use Task for internal follow-ups with a deadline. When unsure between Question and Incident, prefer Question and add an internal note explaining the call.

That last sentence matters — telling the model what to do when it's uncertain is what keeps a triage agent honest.

2. Add the trigger

Add the New Ticket trigger. It fires on the first customer message, before any agent replies — so the type is set at the very top of the ticket's life, when routing is most valuable. This is the real-time behaviour native automations can't match: there's no hourly sweep, the agent runs the moment the ticket is created.

The Ticket Triage agent's Tools list — including Update Ticket Type — with the trigger picker open on New Ticket / Customer Reply and the other real-time events.
The Ticket Triage agent's Tools list — including Update Ticket Type — with the trigger picker open on New Ticket / Customer Reply and the other real-time events.

3. Add the tools

Give the agent the tools it needs to read and act:

  • Get Ticket (and optionally Get Custom Fields) so it can read the subject, description, and any structured context.
  • Update Ticket Type — the write tool that sets problem/incident/question/task.
  • Optionally Assign Ticket + List Groups to route in the same pass, and Update Tags / Add Internal Note to leave an audit trail of why it chose a type.

A typical run looks like the triage-and-route use case: the agent reads a ticket that says "My account was charged but I never received access to the premium features I paid for," classifies it as an Incident in the Billing area, sets the type, routes it to the Billing queue, and tags it — in seconds, autonomously.

4. Test before you let it run wide

Run the agent against a handful of recent tickets in chat mode first and read its reasoning. Write tools like Update Ticket Type require confirmation in chat, so you can sanity-check the decision before it ever writes to a live ticket. Once the calls look right, enable the trigger and let it run autonomously on new tickets.

A realistic routing flow

Type-setting rarely lives alone — it's the first step of a triage pass. Wired with the other two May 2 tools, one agent run can do all of this:

StepToolWhat happens
Read the ticketGet TicketPulls subject, description, requester, tags
Classify(model reasoning)"Single user reporting checkout failure → Incident, Billing"
Set the typeUpdate Ticket TypeType → Incident
Resolve the queueList GroupsFinds the ID for the "Billing" group
Route itAssign TicketAssigns to the Billing group queue
Leave a trailAdd Internal Note"Classified as Incident — likely the EU checkout issue. — Macha"

That internal note is doing quiet but important work: it makes the AI's decision auditable, so a human can see the reasoning and correct the taxonomy over time.

Watch-outs: when not to lean on this

Auto-typing is genuinely useful, but it isn't free of trade-offs. Be honest about these before you ship it:

  • **The Problem/Incident link still needs a human (for now).** Update Ticket Type can set a ticket to Incident, but linking that Incident to a specific parent Problem ticket — the problem_id association that drives the auto-close cascade — is a separate, manual Zendesk step. An agent can flag "this looks like Incident of the EU outage" in a note; a human still makes the link. Don't promise the cascade to your team on day one.
  • Tasks carry a due date the type alone doesn't set. Setting a ticket to Task doesn't populate its Due Date. If your Task workflow depends on dates, the agent should also write that field (via Update Fields) or hand off to a human.
  • Broad categories invite drift. With only four values and fuzzy edges, two reasonable agents (or two reasonable humans) will disagree on borderline tickets. Pin down your conventions in the instructions and audit a sample weekly, especially the first fortnight.
  • It costs credits per ticket. Each classification is an AI action — billed in credits (0.5–9 by model; the default GPT-5.4 Mini is 1 credit). On a high-volume queue that adds up, so pick a fast, cheap model for triage; you rarely need a frontier model to tell a Question from a Task. See the pricing page for how credits map to plans.
  • Don't let it auto-type closed or spam tickets. Scope the trigger (or add a guard in the instructions) so the agent isn't re-typing tickets that don't need it.

For most teams none of these are blockers — they're just the difference between switching it on thoughtfully and switching it on blind.

Where this fits in the bigger picture

Setting the type is the smallest, highest-leverage triage action there is: it's one field, it drives downstream routing and reporting, and it's the one humans skip most. Doing it automatically, in real time, on every new ticket is the kind of unglamorous automation that quietly cleans up a queue. Layer in Assign Ticket and List Groups and the same agent becomes a full intake triager — read, classify, route — while your team stays in Zendesk, working the tickets instead of sorting them.

If you want the broader pattern, see triage and route tickets by topic and the Zendesk integration overview for the full action and trigger list.

FAQ

What are the four Zendesk ticket types? Problem, Incident, Question, and Task. Question is a general inquiry; Problem is a root cause affecting many customers; Incident is one customer's report of a Problem (and can be linked to a parent Problem so solving it auto-closes the Incidents); Task is an internal to-do with a due date.

How does Macha set the ticket type automatically? An AI agent with the Update Ticket Type tool fires on Zendesk's New Ticket event, reads the ticket, and writes the type — problem, incident, question, or task — to the native field. No custom fields or hourly automation sweeps involved.

Why not just use a Zendesk automation? Automations run on an hourly schedule and match on keywords, so they're slow and miss anything phrased unexpectedly. They also can't set problem_id to link incidents. An AI agent classifies on meaning, in real time, the moment the ticket is created.

Can the agent link an Incident to its parent Problem automatically? Not yet — Update Ticket Type sets the type, but creating the Problem↔Incident link is still a manual Zendesk step. The agent can flag the likely parent in an internal note to make that human step fast.

How much does it cost? Each classification is one AI action, billed in credits (0.5–9 depending on the model; the default GPT-5.4 Mini is 1 credit). Use a fast model for triage to keep costs low. See pricing for plan details.

Which other tools came with this release? The May 2, 2026 release also shipped List Groups (resolve a group name to an ID) and an upgraded Assign Ticket that can route to a group queue, an agent, or both.

Try it

If your Zendesk queue is a wall of untyped tickets, an AI triage agent fixes it on the next ticket in, not the next sprint. Start a 7-day free trial, no credit card required, connect Zendesk, add the Update Ticket Type tool to a triage agent, and watch the four types fill themselves in. The docs have the full agent-builder walkthrough.


Written by Abbas (Customer Support & AI, Macha) · Reviewed by Ankeet Guha (Co-founder & CTO) · Published 2026-06-24 · Last updated 2026-06-24.

Sources: Working with problem and incident tickets — Zendesk help; How to automate Zendesk ticket types — eesel AI.

Macha

About Macha

Macha is an AI agent platform that works on top of the help desk you already use — Zendesk, Freshdesk, Gorgias, or Front — and connects to the rest of your stack, even your own internal systems. Its AI agents resolve tickets and automate entire workflows end to end, all set up in plain English, no code. Learn more about Macha →

Zendesk
5.0 on Zendesk Marketplace

Loved by support teams worldwide

See what support teams are saying about Macha AI.

The application seems excellent to me! We are still testing, and we need support for some details and they were extremely efficient too!

Daniela Costa

Daniela Costa

Head of Support, Seabra

Macha has been a great addition to our support toolkit. It generates clear, well-organized responses that fit naturally into our workflow. One feature we particularly appreciate is its ability to automatically reply in the same language as the ticket.

Marius F

Marius F

Support Head, Zentana

We've been using Macha for a little while now and it's been really great addition so far! It's powerful, convenient, and makes getting work done a lot easier for our agents.

Alexander Wedén

Alexander Wedén

Head of Support

Support team is very helpful and responsive. Really enjoy how lightweight this is within Zendesk itself vs other more intrusive tools.

Cathleen Wright

Cathleen Wright

Zendesk Admin, Cortex IO

So far it's pretty good! Our queries are a little nuanced, so we can't always use it, but it's got enough utility for us. It can even incorporate our bilingual country with greetings in a second language.

Jae Oliver

Jae Oliver

Head of Support, Wise

Really enjoying using Macha, it has made a noticeable difference to our support team in a short amount of time. I really like the ticket summary feature, saves us a lot of time.

Harry Jackson

Harry Jackson

Head of Support, Crumb

Macha AI is a great addition to my workspace! It's powerful, convenient, and it really makes productivity so much easier for our agents!

Dave G

Dave G

Head of Support, Cyber Power Systems

Very impressed! AI integration for Zendesk has certainly come a long way and Macha seems to set the standard for now. This will for sure save lot of time in our support team.

Pauli Juel

Pauli Juel

Head of CS, Dokument24

Macha has been working great for us so far! The auto-responses are accurate and our resolution time has dropped significantly.

Lana T

Lana T

Zendesk Admin, Swotzy

Macha AI is a great addition. The knowledge base feature means our agents always have the right answers at their fingertips.

Mischa Wolf

Mischa Wolf

Head of Support, Topi

We're enjoying this integration so far. It's made our support team more efficient and our customers get faster responses.

Paula G

Paula G

Head of Customer Support, Xly Studio

The team enjoys using it. It saves considerable time on common questions and the integration options are excellent.

Kilian Leister

Kilian Leister

Support Head, Didriksons

Ready to supercharge your team with AI?

Get started in minutes. Connect your tools, configure your agents, and let AI handle the rest.

500 free credits · no time limit, no credit card