← All posts

STAYCHARTED BLOG · SERVICENOW · TICKET ROUTING

How to auto-assign ServiceNow incidents to the right assignment group

Compare ServiceNow assignment rules, data lookups, Predictive Intelligence and trained models to auto-assign incident categories and assignment groups.

By Manoj Mohandas ·

Why ticket routing goes wrong

Most misrouted tickets aren't hard cases. They're ordinary tickets described in ordinary words that don't match the rule someone wrote. "Can't get in" instead of "password". "Teams is frozen" instead of "collaboration software". A caller who picks the closest category on the portal, because none of them quite fits.

The right answer is usually already in your instance. Every resolved incident records what was reported and where the ticket really ended up: the final category and the group that resolved it. The question is how to turn that history into a decision on the next ticket.

Option 1: Assignment rules

What they are. Assignment rules set the assignment group (and optionally the assigned person) when a record meets conditions you define. ServiceNow designed them to run when a record is opened. For example: if Category is Network and Location is Austin, assign to Network Ops – Austin.

Good for:

  • routing that follows a field someone already filled, such as category, service or location;
  • a small number of clear, stable conditions.

Watch for:

  • rules based on category inherit errors when that field is wrong or left at its default;
  • text conditions can match keywords, but they do not learn meaning or your team's routing conventions;
  • a long list of rules becomes hard to maintain, and it's easy to lose track of which rule fired.

Option 2: Data lookup rules

What they are. A data lookup rule matches field values against a table you maintain, and sets other fields from it. It's a more general tool than assignment rules: it can set any field, not only assignment fields. A common use is a matrix of category and subcategory to assignment group.

Good for:

  • a routing matrix that a process owner can maintain as a table, not as conditions;
  • setting several fields at once from the same lookup.

Watch for: the same limit as assignment rules. A lookup is only as good as the fields it reads. If the category is wrong, the lookup puts the ticket in the wrong group with complete confidence.

ServiceNow runs assignment rules and data lookup rules in the same stage, before the record is saved, in no guaranteed order. Avoid competing updates to the same field and test your configuration.

Option 3: Predictive Intelligence

What it is. ServiceNow's own machine learning. For incidents, it can predict Assignment group, Category, Service and Configuration item from the short description, using solution templates for incident assignment and categorization. It can also suggest similar incidents and possible major incidents.

Good for: teams that already have it in their subscription and lots of history. It runs inside your instance, and ServiceNow tracks the solutions' precision and coverage as incidents close.

Watch for:

  • Volume. ServiceNow's documentation lists a default minimum of 10,000 records to train a classification solution (the glide.platform_ml.api.csv_min_line property). Smaller teams, or a single queue, may not have that much clean history.
  • Availability. It depends on your ServiceNow subscription and needs plugins activated. Your ServiceNow account team can tell you whether you have it.
  • Reads the short description by default. You can create your own solution definitions to change the inputs, but that's configuration work.

If you have Predictive Intelligence, try it. If you're also trying another option, compare both on the same resolved tickets, not on a demo.

Option 4: An outside model, called from a business rule

What it is. An asynchronous business rule on the Incident table sends the new incident's short description and description to a model trained on your own resolved tickets. The model answers with the category and group your team would most likely choose, and how sure it is. The rule fills in what nobody has chosen yet, and only when the model is sure enough. It writes a work note either way.

Good for:

  • teams without Predictive Intelligence, or with less history than it needs;
  • reading the whole description, not just the short one;
  • the same model answering in ServiceNow and in other tools (Jira Service Management, a portal, a spreadsheet of backlog tickets);
  • seeing how often the model is right, category by category, before you connect it.

Watch for:

  • your instance must be allowed to make outbound HTTPS calls;
  • the model answers from the fields the rule sends it, so send the same fields it was trained on;
  • you still own the review: decide the confidence above which fields are filled, and let people triage the rest as today.

How to choose

Your situation Start with
Routing follows a field that's already reliable (service, location, CI) Assignment rules or a data lookup table
A process owner wants to maintain a routing matrix Data lookup rules
You have Predictive Intelligence and tens of thousands of resolved incidents Predictive Intelligence; measure it
The category itself is often wrong, or the answer is in the description A trained model reading the text: Predictive Intelligence or an outside model
You have a few thousand tickets, not tens of thousands An outside model; test it on your history first
You use more than one ITSM tool An outside model that every tool can call

They also combine well. A common pattern: a trained model fills Category from the text, and your existing data lookup table turns the category into an Assignment group. Or the model fills both, and your rules handle the special cases you already know.

What makes any option work

Whichever you choose, these decide whether automatic routing helps or just moves the mistakes around.

  1. Learn from final values. The group that resolved a ticket is the right answer. The group it was first assigned to is often the mistake you're trying to avoid.
  2. Use only what's known when the ticket opens. Resolution notes, close codes and "resolved by" make test scores look great and predictions useless.
  3. Measure per category, not overall. An overall 95% can hide a group the model gets right half the time. Look at which categories it confuses: often they're overlapping groups in your own catalog.
  4. Fill only when it's sure. Pick a confidence above which fields are filled, and leave the rest for a person. Start high.
  5. Never overwrite a person's choice. On a stock instance, Category defaults to "Inquiry / Help", so a rule should treat the default as "not chosen" and leave anything else alone.
  6. Retrain after reorganizations. Groups change. A model trained on last year's groups routes to last year's groups.

How StayCharted helps

StayCharted AI Model Trainer is option 4, without the machine-learning work. It trains a private model on your resolved incidents, shows how often it's right before you connect it, and answers your business rule through a REST API.

  • Train on an export. Export resolved incidents to CSV: short description, description, location and other opening fields, plus the final Category and Assignment group. Upload it, and choose both as the answer: the model learns them together and answers both, with one confidence for the pair.

  • Check the data first. Before training, StayCharted flags duplicates, thin categories, categories that look like the same thing under two names, and personal information such as email addresses and phone numbers, which you can mask in one click.

  • See how often it's right. Every model is tested on incidents it never saw, with accuracy per category, the categories it confuses, and a review table that shows, for each confidence, how many answers fall below it and how many of the model's mistakes those include.

  • Connect it with one business rule. Our tested script fills only the fields nobody chose, only above the confidence you set, writes a work note either way, and changes nothing if StayCharted can't answer. On our ServiceNow developer instance, a confident answer looked like this:

    Show Code example
    INC0010007 · "Outlook keeps asking for my password"
    Work note   StayCharted: Category Software, Assignment group Service Desk, 80% sure.
                Filled in: Category, Assignment group.
    
  • Review and retrain. Your team keeps correcting in ServiceNow, as today; the next export carries the corrections. Answers below the model's review cutoff can also wait in the Review Queue, and your team can compare the report before publishing a new version.

  • Choose the model. The AI Classifier Model reads meaning as well as words and suits most ticket text. On Business, a Dedicated AI Model is a language model fine-tuned on your tickets, for long or messy descriptions. You can also use Your AI Model, which uses an AI platform your company already runs, shown your past tickets as examples. All are tested the same way, so you can compare them on the same rows.

Training works on every plan, Free included, so you can read the report on your own history first. The API, which ServiceNow calls, and the Review Queue are on Essentials and Business.

Try it on the sample support tickets → · Step-by-step ServiceNow guide → · AI ticket routing for any ITSM tool →

Common questions

How do I automatically assign incidents to an assignment group in ServiceNow?

Use assignment rules or data lookup rules when routing follows fields that are already filled, such as category or location. When the right group depends on what the caller wrote, use a trained model: ServiceNow's Predictive Intelligence, where your subscription includes it, or an outside model called from an asynchronous business rule.

What's the difference between assignment rules and data lookup rules?

Assignment rules set the assignment group or assigned person when a record meets conditions. Data lookup rules match field values against a table and can set any field, which suits a routing matrix that a process owner maintains.

How many incidents does Predictive Intelligence need?

ServiceNow's documentation gives a default minimum of 10,000 records to train a classification solution, set by a system property. Check your own instance's setting.

Is there an alternative to ServiceNow Predictive Intelligence?

Yes. An asynchronous business rule can send each new incident to an outside model trained on your own resolved tickets, and fill Category and Assignment group when the model is sure. StayCharted AI Model Trainer provides that model, and shows its accuracy per category before you connect it.

Can AI fill Category and Assignment group without overwriting what agents chose?

Yes, if the rule only fills empty fields. On a stock instance, Category defaults to "Inquiry / Help", so the rule should treat that default as "not chosen" and leave anything else as the person set it.

Does it slow down saving an incident?

Not with an asynchronous business rule. The incident saves at once, and the suggestion arrives a few seconds later as field values and a work note.

What data should I train on?

Resolved incidents from the last 6 to 12 months: the text and fields known when the ticket was opened, and the final category and assignment group. Leave out resolution notes and anything filled in later.

Sources and further reading

Put it into practice with StayCharted

Start free →

Check plans and allowances · Security and your data

ServiceNow is a trademark of ServiceNow, Inc. Jira is a trademark of Atlassian. StayCharted is not affiliated with them.