
Moving from manual ticket categorization to AI-powered intent detection in Zendesk
Migrating from ticket field categories to Zendesk Intents isn’t hard. By reviewing existing categories, refining and renaming intents, adding custom ones, and validating results, you can replace manual tagging with AI-powered triage for faster, smarter customer support.
When it comes to ticketing, knowing why a customer contacts you is crucial. For one, you can use that reason for routing and make sure the question arrives at the right team or team member.
By knowing what a ticket is about we can also make sure we give it the right urgency so we can prioritize certain topics, while pushing the rest to our backlog.
Similarly, by knowing the topic, we can also define a deflection strategy. Some questions can be perfectly answered with knowledge articles. Others require a procedure with some logic or integrations and can be handled by the AI Agent. And some of them do need a human to handle them, but we can use suggested replies procedures, actions and integration to make it easier for our agent to do their work.
Regardless of how we use categories (or intents), tagging tickets with the right topic is a crucial basis for any good CX strategy.
Categorization
Traditionally we'd use ticket fields in Zendesk to categorize our tickets. We create a category dropdown field that contains a predefined list of topics and we ask agents to choose a category when they resolve or handle a ticket.
The problem with this approach is that tagging often happens after an agent looks at the ticket, meaning we loose any chance of changing priority, routing or deflection. Only when an agent looks at the ticket can it be categorized, meaning you loose time and effort in manually triaging each ticket.

One way to make this a bit more efficient is by using a combination of triggers that look for keywords, ticket forms and end-user editable ticket fields to make sure your tickets have at least some category associated with them.
Once they are categorized we can use (omnichannel) routing to route tickets to the right team, and a combination of SLAs and priorities to define the order in which they'll be assigned.
Similarly any ticket that passes via an AI Agent before it reaches agent workspace can also be categories by the AI Agent since it probably matched a use case or flow before escalation happens.
One problem with relying on AI Agent for categorization is that use cases for AI Agents look at the initial question (my device is broken), and not at the escalation reason (I want a refund).

A second issue that arises with ticket field categorization is that your categorization has an inherent bias in them. If you tag your tickets as droid
, jedi
and other
, you'd might get the impression that the world solely exists out of robots and sci-fi wizards, with all the other creatures being hidden behind a generic other tag. Which means you'll only report on the categories you actually know, and the unknown items are hidden in a generic category which is often ignored.
Some teams work around this issue by using conditional fields and whenever an agent chooses other, the system offers a text field asking them to describe the category they think it is. Someone then needs to read these categories, sort them and decide which one should be actual categories. All manual work that is inefficient and might lead to double categories (robots
, droids
).

In short, even though categorization is key to knowing what customers contact you for and for finding out the strengths and weaknesses in your CX strategy, relying on humans and triggers is not ideal to make sure you get the actual insights.
Intents
This article wouldn't exist if I didn't think there was a better way to do this. And that method relies on Zendesk AI and its Intelligent Triage.
Intelligent Triage is Zendesk's AI powered method of categorizing tickets. It uses LLMs and pre-build models to read and categorize each conversation you're having with your customers. It reads the conversation and assigns an intent, sentiment and tags optional entities.

Intent defines why your customer is contacting you. Sentiment tells you how they feel, and Entity lets you know what the customer is contacting for.
Or in other words, a very angry customer can contact you about a broken coffee machine. The Intent is "broken device", the Sentiment is "negative", and the detected Entity could be "Device Type":"Coffee Machine".
For me, it's the Intents that are key in this story. Zendesk comes out of the box with dozens of predefined intents. And for a while now you've been able to add your own custom intents to Zendesk too.
Intents have a few benefits when compared to categorization via Ticket Fields.

For one, they are not just a tag you add to the ticket, they are concepts the platform "understands". So when you have an intent for "Refund" the system will read incoming emails and understand of a customer is talking about refunds, even if they phrase it as "I want my money back!". It's automatic and more reliable than using keywords or customer facing ticket fields to define categories.
Secondly, it happens automatically so your ticket is tagged before it's routed to agents, making sure it can arrive at the right team with the right priority from the get go.
Thirdly, Zendesk now also offers Intent Suggestions. On a weekly basis the platform will show trends in tickets and offer a list of Intents you're currently not tagging your tickets with, but that it thinks you should add. So where categories have an other tag with hidden topics, Intents will actively highlight your blind spots. You can then decide to accept or decline these suggestions. If accepted you can decide to deflect that topic with an AI Agent or route the topic to the right team, while creating Agent Copilot procedures and instructions to assist your team.

So where Categories are static, manual and delayed, Intents evolve with you, are automatic and happen before your team touches a ticket.
Moving from categories to tickets
Zendesk currently does not offer an automatic method of moving from your existing ticket field categorization towards intents, but migrating is not that difficult.
The basis process looks like this:
- Review current categories
- Remove unwanted intents
- Rename existing intents
- Create new custom intents
- Validation
Review current categories
The best way to move houses is to declutter your house before you move so you don't move your unwanted items to your new house. The same goes for moving from categories to intents.
Step one is looking at your current categorization and listing all your current categories. Look at duplicates, look at unused or irrelevant items. Look at that other list and define useful items you want to add.

A good way to do this is to create a custom report in Analytics that looks at all closed tickets of the last year. Add a row metric that shows your categories and sort by most to least used. Any category that's not in the list (or some of the rarely used) can be removed.
Remove unwanted intents
It might seem contradictory but as a second step I'd go over the predefined Zendesk intents and remove those you are sure you'll never use.
For example. If your company does not have accounts, deactivate the intents that talk about creating, modifying or deleting user accounts. This way you never run the "risk" of tickets getting assigned to that intent, and the system is "forced" to assign tickets to the remaining active intents.

You should take care though. Not offering a service does not mean customers might not reach out to your team about it. And there's a similar thin line between "our customers never ask that" and "we assume they never ask that". So always tilt towards the side of "let's keep it active just in case"
Rename existing intents
Zendesk's intent might talk about Loyalty Points, but you talk about Bonus Points. An intent might talk about customers, but as an airline you talk about passengers.
To make it clear to your team what a ticket is about, you should go over the existing Zendesk intents and rename them to match your company's vocabulary.

This will make your reporting clearer, remove confusion for your agents and makes your Zendesk really yours.
Create new custom intents
If you cross reference your existing category list with the Zendesk intents, you'll quickly notice missing intents. Those are intents unique to your company and might not be part of Zendesk's default list.
To make sure intents match all categories your team handles, you should add them as custom intents to the list.

Adding intents is as easy as giving it a name (Change lightsaber color) , describing the use case (A Jedi contacts us to ask about changing their lightsaber from green to purple) and categorizing it (Order - Product issue)
Once created Zendesk will start tagging tickets with your new intent, just as they would with the default intents.
Enable Intelligent Triage
Now that the list in Intelligent Triage matches your categories it's time to start using intents. But before you start deleting your existing categories it's important to validate its workings first.
So when starting with Intelligent Triage I would advise for a two-week period of double metrics. You leave your categorization as is and let agent and triggers still categorize as before, while Intelligent Triage starts tagging intents to your ticket.
Within Analytics you can then create a new report that looks at all tickets of the last two weeks. Create a table with two rows. One is your category field. The other the system Intent Field.

This will give you a list of categories in one column, with a second column of intents right next to it. In a perfect scenario those two column should have almost identical values. Where your agents categorize something as "Refund", the system should also associate a "Refund" intent with those tickets.
If you see any big discrepancies, you can use a drill-down to identify those tickets and investigate why the intent was different. Did the agent assign the wrong category? Should you adapt the description of your custom category? Or maybe disable the intent since it's quite close to another intent and there's confusion?
As you go over the list and modify intents, you'll get closer and closer to a table that is as perfect as possible. Once you're happy with the results you can be sure that Intents in Zendesk will work as well, or better, than your categories.
Final Migration
Once you're happy with the results you can start the final migration towards intents.
First off, go into any triggers that assign to groups, users or priorities based on your categories and replace the category condition with one that looks at Intents. (Search filters in Triggers are your friend here!).
While you're looking at triggers, you can also safely disable any trigger that assigns a category since Intelligent Triage will take its place.
If you're using Queues in Omnichannel Routing, do the same and replace any category condition with an intent.
Once you've disabled triggers and automation and updated your queues, you can remove your category ticket field from your forms and deactivate the field. Agents will no longer need to manually set the category, and will solely find the intent in the header above the conversation.
What's next
Now you've moved to AI powered intents, the fun really begins. On a weekly basis you can go over the Intent Suggestions to review the new intents suggested by the system.
You can also enable Dynamic Detection to automatically update the intent as the conversation evolves. And you can start looking at Custom Entities to detect products, locations, colors and services and give even more insights to agents.
As the system tags your conversations with Intents you can also dive into analytics to start detecting intents that cost your team a lot of time and effort. These intents might be prime candidates for Agent Copilot procedures that automate part of that work. Or you might even convert them entirely into Use Cases for your AI Agents, automating the entire conversation with procedures.