Zendesk Custom Intents

The stock intent taxonomy covers refunds and delivery. It doesn't know what your product does, which is where custom intents come in.

Why the standard taxonomy runs out

Zendesk ships pre-trained intents per industry, and they're surprisingly decent at the universal stuff: where is my order, I want a refund, reset my password. Detected values land in ticket fields, so triggers, views and reports can all read them. That mechanism is explained in intelligent triage.

Then you hit the specific. "My integration stopped syncing after the update" is your top ticket driver and no generic taxonomy has a slot for it. Everything specific to your product falls into a general bucket, or nothing at all, and routing off it's useless.

Custom intents fill that gap. What they are called, which plan or add-on unlocks them, and whether they work in triage, in bots or both has shifted as the feature has developed. Check Zendesk's current documentation for your account rather than taking anyone's word for the packaging, including this page.

What training Zendesk custom intents involves

You give each intent a name and a set of example phrases. The model learns from the examples. There's no clever shortcut around doing this part carefully.

Use real customer sentences. Pull them from your own tickets. Invented examples are too clean, too grammatical and too similar to each other, and a model trained on them falls apart on the first message written from a phone at midnight.
Expect dozens per intent, not a handful. Somewhere in the range of twenty to fifty genuinely distinct phrasings is a reasonable starting point for a solid intent. Five won't do it.
Vary everything. Long and short, angry and polite, typos included, jargon and plain language, the way a novice describes it and the way a power user does.
Balance the set. An intent with two hundred examples next to one with fifteen will swallow it. Keep the counts roughly comparable.
Cover the near-misses. If two intents are easily confused, feed both plenty of examples that sit near the boundary.

Designing the intent set

Most accuracy problems are design problems wearing a training-data costume.

Start from what you would do differently. If two intents route to the same group and get the same reply, they should be one intent. Granularity that changes nothing downstream is pure cost, both in training effort and in confusion between neighbours.

Keep intents mutually exclusive. If a real customer message could honestly sit in either of two intents, the model will guess and your reporting will be quietly wrong. Merge them, or redraw the boundary somewhere sharper.

Start small. Ten to fifteen intents covering the bulk of your volume, trained well, beats fifty trained badly. You can always add. Every intent you add makes the ones nearby a little harder.

And keep a deliberate none-of-these path. The worst outcome isn't an unclassified ticket, it's a confidently misrouted one.

Measuring accuracy honestly

Hold back a sample before you train. A few hundred real tickets, labelled by a human, never shown to the model. That's the only fair test you'll get, because measuring on the examples you trained with tells you nothing at all.

Then look at two numbers per intent rather than one overall figure. Precision asks: when it says billing, is it billing? Recall asks: of all the real billing tickets, how many did it catch? A model can post a fine average while being useless on the three intents you care about most.

Read the confusions, not just the totals. Which intents get mistaken for which is a specific, fixable piece of information, and it usually points straight back at two intents that should have been one.

Decide on a confidence threshold too. Below it, do nothing rather than route, and let the ticket fall to a human. Set that threshold by looking at what accuracy actually costs you when it is wrong.

Keeping them alive

Intents decay. You ship a feature, customers start describing a new problem, and an intent set trained last spring gets steadily less relevant. Nothing announces this.

Put a quarterly review in the calendar. Sample recent tickets, check what got classified as what, add examples for the phrasings that have drifted, retire intents whose volume has evaporated.

Watch what routing does downstream as well. If a group starts receiving tickets it keeps reassigning, that is a misclassification signal arriving through people rather than through a chart, and it usually arrives first. Bot flows read intents too, so a drifting intent set shows up in Flow Builder as branches that stop firing.

FAQ

Frequently asked questions

How accurate does intent detection get?

Zendesk intent accuracy on a well-designed set lands high enough to route on and not high enough to auto-resolve on. Zendesk intent detection with custom intents beats the standard taxonomy when your product has its own vocabulary.

How many examples do Zendesk custom intents need?

Plan on twenty to fifty genuinely different real phrasings per intent as a starting point, kept roughly balanced across the set. A handful of invented examples will not produce a usable model.

Can I train intents on my own past tickets?

Your own tickets are the best source of example phrases, and pulling them out is normally a manual or API-assisted job. How much of it the product automates varies by release, so check the current documentation.

How accurate should custom intents be?

Judge per intent using precision and recall against a held-back labelled sample, not by a single overall percentage. The right target depends on what a misroute costs you.

Do custom intents work for both routing and bots?

The intent layer is shared in principle, and which surfaces can use custom intents depends on your plan and the current packaging. Confirm before designing a bot flow around one.

How often should intents be retrained?

Review quarterly, and immediately after any launch that changes what customers write in about. Intent sets go stale quietly.

Better classification, fewer collisions

Accurate intents route tickets well. They still route two copies of the same request to the same agent, which is the gap Ticket Merger closes.

Start free trial

14-day free trial. No credit card required.