ServiceNow Case Assignment: CSM Case Assignment Rules, Case Auto Assignment, and Case Routing
Case assignment in ServiceNow Customer Service Management is four features that most admins treat as one. Assignment rules pick a group, matching rules pick a person, Advanced Work Assignment pushes work to whoever is present, and the assignment workbench only recommends. Each one steps aside under conditions that are easy to create by accident. This page lays out which mechanism does what, the order they run in, and the settings that leave customer cases sitting without an owner.
In short
ServiceNow case assignment in CSM uses assignment rules to set the assignment group or user on a case, matching rules to pick an agent by role, group, skills, workload, or availability, and optionally Advanced Work Assignment to push cases to agents who are Available with spare capacity. The documentation states that the assignment rule is applied only if the task is not already assigned to another user or group, so an inbound email action, a business rule, or a portal default that writes a group first silently turns your rules off. There is no round robin out of the box. Assigner is a routing layer that sits beside ServiceNow rather than inside it, distributing cases, tickets, leads, and ops work by round robin, weighted rotation, skill, live workload, and availability with a recorded reason for every assignment, at $12 per user per month billed yearly ($15/mo billed monthly). It is a companion, not a replacement. The AI assists, the rules stay yours, every assignment is explainable.
Why it fits
This page is for a customer service operations lead, CSM administrator, or ServiceNow platform owner running Customer Service Management whose cases arrive without an owner, whose best agent absorbs a whole account, or whose assignment rules test clean in a sub production instance and never fire in production. It assumes CSM is already live.
A group written first switches your rules off
The CSM documentation is exact: the assignment rule is applied only if the task is not already assigned to another user or group. A community answer on a case form that ignored its rules says the same from the other side: both Assignment group and Assigned to should be empty. Anything that fills either field first wins, and nothing logs the skip.
Email to case sets a default group before any rule runs
The inbound action that creates cases from email sets the assignment group from a system property. In one CSM forum thread the default was a group called CSM_Manual, so every emailed case arrived already assigned and no assignment rule was ever evaluated. The fix lives in the inbound action, not in the rule.
Matching rules and assignment rules never talk to each other
The documentation calls them independent records with no synchronization. A 2018 forum thread that never got a fix describes the result: the group gets set just fine, but the system never assigns an agent. The group rule fired, the agent rule had no match, and both did exactly what they were told.
AWA assigns only to agents who are Available with capacity
Advanced Work Assignment pushes cases to agents who are present and under their channel capacity. In one thread cases reached the queue and sat until the Available presence state was activated. A queue with no groups attached accepts work items and never assigns them.
A manual pick or a business rule cancels the AWA work item
When a case in a queue is assigned manually, the documentation says it is removed from the queue and the work item is set to Canceled with the reason Manually assigned. A business rule that auto assigns the case means the work item is never routed through AWA at all.
There is no round robin in CSM out of the box
Matching rules can weigh workload and availability, but none of them rotates. Every round robin answer in the CSM forum is a custom business rule or a scripted matching rule, which is code your team now owns through every upgrade.
Side by side
Every way a ServiceNow CSM case gets a group and an agent, and what beats what
| Mechanism | What it sets | When it runs | Skipped when | Where it leaks |
|---|---|---|---|---|
| Inbound email action (Create Case via property) | Assignment group, from a system property | When a case is created from an email | The property is empty | Every emailed case arrives with the default group, so no assignment rule ever evaluates it. |
| Before business rule | Whatever the script writes | Before insert, in business rule order | The rule condition is false | A before rule ordered under 1000 runs ahead of assignment rules and quietly takes the decision away from them. |
| Assignment rule (sysrule_assignment) | Assignment group, assigned to, or both | Lowest order first, only the first match applies | The case already has a group or an assignee | Silent. A skipped rule writes nothing, so the symptom is a case in the wrong group with no trail. |
| Matching rule | Assigned to, by Simple, Advanced, Scripted, or Selection Criteria resource conditions | Lowest execution order first | No agent meets the resource conditions | Independent of assignment rules. The group can be set while the agent stays empty. |
| Predictive Intelligence | Predicted assignment group, priority, and category | On case creation when prediction is enabled | The property is off or the model is not trained | Predicts a group, never a person, and depends on how well past cases were routed. |
| Advanced Work Assignment | An assignment or offer in the Agent Workspace inbox | When the case matches a queue and an eligible agent is Available with capacity | No group on the queue, agents offline or at capacity, or a business rule assigned it first | A manual assignment cancels the work item. Queues holding more than 10,000 queued items may stop assigning new work. |
| Assignment workbench | A recommendation, when an agent clicks Find Agents | On demand only | The case is New or Closed, or Assigned to is read only | Recommends. Nobody is assigned unless a person acts on it. |
Two facts decide most tickets about this table. Nothing that sets a group overwrites a group that is already there, and none of the rule based mechanisms goes back to reassign a case once it has an owner. Both only fill empty fields.
In detail
What the CSM documentation and the ServiceNow community actually say
Case routing is two record types that never sync
The CSM documentation on case routing describes the feature in one sentence: it uses matching rules and assignment rules to identify customer service cases that meet certain conditions and then route those cases to customer service agents. That reads like one feature. It is two, and the same page says so later: matching rules and assignment rules are independent records with no synchronization.
Assignment rules live in sysrule_assignment and are created under Routing and Assignment, Assignment Rule. A rule has an Applies To section, where you pick the table and conditions, an Assign To section, where you name a user, a group, or both, and an optional script. Only active rules take effect, they run from the lowest order number to the highest, and only the first match applies. If you point a rule at a custom table that extends task, the documentation says you have to clear the instance cache before it takes effect.
Matching rules sit under All, Routing and Assignment, Matching Rules and need the assignment_rule_admin role. Each rule holds two sets of conditions: one that identifies the case attributes and one that identifies the agent resources best suited to them. Resources can be defined four ways: Simple, Advanced (user role, agent group, specific skills, workload, or agent availability), Scripted, and Selection Criteria. Matching rules also run from the lowest execution order to the highest.
If you are setting this up for the first time, the Guided Setup path is All, Customer Service, Administration, Guided Setup, under the Case Management category, with the csm_guided_setup_user role or admin. The practical point: when someone asks for case auto assignment, first decide whether they need the group chosen or the agent chosen. The group is an assignment rule. The agent is a matching rule or AWA. Most wasted configuration on sn_customerservice_case comes from building the wrong one.
Why a correct case assignment rule never fires
The CSM documentation states the condition plainly: the assignment rule is applied only if the task is not already assigned to another user or group. A 2025 forum thread about assignment rules that did nothing on the case form got the practical version of that answer: both fields, Assignment group and Assigned to, should be empty. Anything that fills either field before the rule engine runs has made the decision already.
Three things fill those fields first more often than anything else. The first is email to case. In a CSM forum thread about changing the default group, the inbound action that creates the case set current.assignment_group from a system property, and the group it pointed at was named CSM_Manual. Every emailed case therefore arrived with a group and no rule ran against it. The second is a before business rule. In another thread a custom rule assigned the case and the assignment rule stopped firing; the accepted fix was to set the order of the before rule under 1000 so the business rule runs first, followed by the assignment rule. The third is the form or the portal: a default value on the field, a UI policy, or a record producer that maps a group.
ServiceNow also lists a known error for portal cases, KB0966755, which by its published summary covers assignment rule scripts and matching rules running under the user session instead of the system session when the case comes from the CSM Customer Portal, with the result that portal cases do not spread evenly across the group. If portal cases and agent created cases route differently in your instance, that article is the first thing to check with your support contact.
None of these produce an error. The only symptom is a case in the group something else chose. Before touching the rule, look at how production cases are actually created: which channel, which inbound action, which business rules, in which order.
Matching rules: the agent layer, and why the agent stays empty
Matching rules are how CSM picks a person rather than a team. The Advanced resource type is the one most teams want, because it can combine user role, agent group, specific skills, workload, and agent availability in a single rule. Scripted resources exist for anything the form cannot express, and Selection Criteria lets you reuse criteria defined elsewhere.
The failure the forum keeps returning to is a case that ends up with a group and no agent. A forum thread from 2018 that never got a solution describes it in one line: the group is set just fine, but the system never automatically assigns an agent. The mechanics explain it. The assignment rule matched and set the group. The matching rule either had conditions that did not match the case, or matched but found no resource that met every condition, most often a required skill nobody in the group holds. Because the two record types do not synchronize, nothing checks that a rule which sends cases to a group has a matching rule able to staff that group.
The other gap is rotation. Matching rules can prefer the agent with the lowest workload or filter to agents who are available, but none of them rotates in order. Every round robin answer in the CSM forum is a custom business rule or a scripted resource that stores the last assignee somewhere and picks the next one. That works, and it is also code your team owns through every family upgrade, which is the same trade off described on the ServiceNow round robin page for incidents.
Advanced Work Assignment for CSM: presence, capacity, and the auto assign switch
The CSM documentation describes AWA for cases in one sentence: AWA for CSM pushes work to qualified agents using work item queues, routing conditions, and assignment criteria, and agents see their assignments in the Agent Workspace inbox. It needs the Customer Service plugin com.sn_customerservice and com.glide.awa, plus com.snc.wfo.csm if you want shift based assignment. ServiceNow also ships Advanced Work Assignment for CSM as a Store application with its own admin console; version 1.0.4 was released in March 2026.
Configuration runs through Advanced Work Assignment, Service Channels, then Queues, then Assignment Rules (the case task walkthrough uses Assign by: Most Capacity), then Management, Groups and Settings, Presence States. Groups and assignment rules are attached to a queue in its Assignment Eligibility section, and the documentation warns that AWA assigns work items using assignment groups, so your users and groups have to be set up correctly first.
Four behaviors cause most AWA tickets on CSM. Presence: an agent who is not Available receives nothing, and in one thread cases sat in the queue until the Available presence state was activated at all. Groups on the queue: if no groups are assigned to a queue, work items can be routed to the queue but AWA does not assign them. Manual assignment: a case in a queue that someone assigns by hand is removed from the queue and its work item is set to Canceled with the reason Manually assigned. Business rules: if a business rule auto assigns the case, the work item will not be routed through AWA. The community answer to a team that wanted AWA to fill Assigned to without an accept or reject step was to drop the business rule and use the Enable auto assign work items option in Assignment Eligibility instead.
One more limit is worth knowing before a large backlog import: the queues documentation notes that new work items may not be assigned if they are routed to queues containing more than 10,000 work items in the queued state. For the capacity and presence model in general, see the ServiceNow Advanced Work Assignment page.
Routing cases by account, by email address, and by channel
Account based routing is the most common CSM requirement that is not a switch. The recommended out of box answer in a 2025 thread on setting a default group for one account is simple: go to Routing and Assignment, Assignment Rule, and create a rule on the case table for that specific account. It works, and it scales linearly. A book of 300 named accounts is 300 rules, each with an order number, and the first match wins, so a rule for a parent account placed above a rule for its subsidiary will swallow the subsidiary.
Routing by the address a customer emailed, such as support@ versus billing@, is harder than it sounds. A forum thread on setting the group from the recipient address needed a custom Recipients field on the case and changes to the Create Case for matched or unmatched user subflow, because the out of box flow does not carry that value to where a rule can read it. Assignment Data Lookup rules, which many ITSM teams use for exactly this kind of mapping, are preconfigured only for the Incident table according to a community answer, so using them on cases is custom work too.
The pattern across all three is the same. CSM can route by account, by address, or by channel, but each one is either a growing list of rules or a customization, and none of them considers whether the agent it picks is present, overloaded, or on leave.
Predictive Intelligence and the assignment workbench: suggestions, not owners
Predictive Intelligence for CSM predicts the priority, assignment group, and category of a case from its short description. It depends on the com.glide.platform_ml plugin, a property named Enable/Disable the prediction for case, and a client script named Predict Case Values. In the legacy packaging, partner material places Predictive Intelligence in CSM Professional and above rather than Standard, which is covered in detail in the ServiceNow CSM license cost guide. Two limits matter for routing. It predicts a group, not an agent, so matching rules or AWA still have to pick the person. And it learns from how past cases were routed, so a queue that has been misrouted for a year trains a model that misroutes.
The assignment workbench is the opposite: it is about the person, and it is manual. An agent clicks the Find Agents icon next to the Assigned to field and gets a ranked list. The default rule, Recommendation for Case Assignment, weighs Availability Today, Matching Skills, and Assigned Cases, and the documentation notes the workbench is not available for records in the New or Closed states or when Assigned to is read only. It is a useful tool for a team lead reassigning by hand. It does not assign anything on its own.
Where Assigner fits beside CSM, and where it does not
The mechanisms above share one design choice: they fill empty fields once and never revisit. None of the rule based options rotates, so a fair split needs custom code. Matching rules read workload and availability but do not weight agents, so a senior specialist and a first month hire are equal recipients. AWA reads presence and capacity well, and it lives inside Agent Workspace and depends on the queue, group, and presence setup being right. And the reason a given case went to a given agent is not written on the case, which is the first thing an account manager asks when a key customer escalates.
Assigner sits beside ServiceNow rather than inside it. It takes the case attributes CSM already has, such as account, product, channel, and priority, applies rules you own, and picks the person with weighted rotation, live availability, and a capacity measure you define, then records the reason with every assignment. The same engine routes Salesforce cases, help desk tickets, and sales leads, so a company running support in two systems gets one fairness model. At $12 per user per month billed yearly, or $15 monthly, it is priced for a support operations team rather than a platform program. It is not a ServiceNow Store application, it does not replace CSM, and if your only problem is an inbound email action writing a default group, the fix is in that action and costs nothing. The transparent assignment page shows what the recorded reason looks like.
Questions buyers ask
Frequently asked questions
How does case assignment work in ServiceNow CSM?
CSM case assignment uses assignment rules to set the assignment group or user, and matching rules to pick an agent by role, group, skills, workload, or availability. Advanced Work Assignment can push cases to agents who are Available with capacity. Assignment rules only run when the case has no group and no assignee, evaluated from the lowest order number, and only the first match applies.
What are case assignment rules in ServiceNow?
Case assignment rules are records in the sysrule_assignment table, created under Routing and Assignment, Assignment Rule, that set the assignment group, the assigned user, or both on a case when its conditions match. They run from the lowest order to the highest, only active rules take effect, and a rule is applied only if the case is not already assigned to another user or group.
How do I auto assign a case in ServiceNow CSM?
Decide whether you need the group or the person. For the group, create an assignment rule on the case table with your conditions and the target group. For the person, create a matching rule with Advanced resource conditions such as skills and workload, or set up Advanced Work Assignment with a queue, groups in Assignment Eligibility, and the Enable auto assign work items option.
Why are my ServiceNow case assignment rules not working?
Almost always because something set the assignment group or assigned to before the rule engine ran. The usual culprits are the email to case inbound action setting a default group from a system property, a before business rule ordered under 1000, a default value on the form, or a record producer. Check how production cases are created, then confirm the rule is active and first in order.
What is the difference between assignment rules and matching rules in ServiceNow CSM?
Assignment rules usually choose the team, and matching rules choose the agent. An assignment rule sets the group or user when case conditions match. A matching rule pairs case conditions with resource conditions such as role, group, skills, workload, or availability. The documentation calls them independent records with no synchronization, so a group can be set while the agent stays empty.
Does ServiceNow CSM have round robin case assignment?
Not out of the box. Matching rules can prefer the lowest workload or filter to available agents, but none of them rotates in order. Round robin in CSM is built with a custom business rule or a scripted matching rule that records the last assignee, which your team then maintains through upgrades, or with a routing layer beside the platform.
How does Advanced Work Assignment work for CSM cases?
AWA for CSM pushes cases to qualified agents using work item queues, routing conditions, and assignment criteria, and agents see the work in their Agent Workspace inbox. You configure a service channel, queues, AWA assignment rules such as Most Capacity, and the groups in each queue Assignment Eligibility section. Only agents in an Available presence state with spare channel capacity receive work.
Can AWA assign a case directly without the agent accepting it?
Yes. The community answer to exactly this question was to use the Enable auto assign work items option in the queue Assignment Eligibility section, and not a business rule. A business rule that auto assigns the case means the work item is not routed through AWA at all, and a manual assignment cancels the work item with the reason Manually assigned.
How do I route ServiceNow CSM cases by account?
The out of box answer is an assignment rule on the case table with the account as the condition and the target group in Assign To. It works for a short list of named accounts. At scale it becomes one rule per account with order numbers to maintain, and because only the first match applies, a parent account rule placed above a subsidiary rule will capture both.
How do I set the assignment group for CSM cases created from email?
Check the inbound action that creates the case. In a CSM forum thread it set current.assignment_group from a system property, which assigned every emailed case to a default group before any rule ran. Change the property, or remove the line so assignment rules can decide. Routing by the recipient address needed a custom field and a change to the case creation subflow.
Can Predictive Intelligence assign CSM cases automatically?
It can predict the assignment group, priority, and category from the case short description, using the com.glide.platform_ml plugin and the Predict Case Values client script. It does not choose an agent, so matching rules or AWA still pick the person. Partner material places it in CSM Professional and above in the legacy packaging, so check your entitlement first.
What is the case assignment workbench in ServiceNow?
It is a manual recommendation tool. An agent clicks the Find Agents icon next to Assigned to and gets a ranked list based on the default rule Recommendation for Case Assignment, which weighs availability today, matching skills, and assigned cases. It is not available on New or Closed cases or when Assigned to is read only, and it never assigns anyone by itself.
Keep reading
Related ServiceNow routing pages worth reading next:
- ServiceNow assignment rules - The ITSM assignment rule model, which shares the fill only behavior with case rules.
- ServiceNow Advanced Work Assignment - Presence, capacity, the queue model, and how AWA decides who is eligible.
- ServiceNow HR case assignment - The HRSD version of case routing, where the service template writes the group first.
- ServiceNow round robin - Why the platform has no rotation field and what teams build instead.
- ServiceNow assignment group - The group layer, the empty picker, and the reference qualifier behind it.
- ServiceNow CSM license cost - Per fulfiller licensing, the April 2026 tiers, and which routing features need a higher tier.
- ServiceNow assignment rules not working - The full checklist for rules that test clean and never fire.
Stop hand-sorting your incoming work
Let Assigner route it to the right available person by skill, workload, and availability, using rules you control. Nothing sits unassigned and no one gets cherry-picked. Every assignment shows why.