Assigner
Use case

ServiceNow HR Case Assignment: Assignment Group, Auto Assignment, and HRSD Assignment Rules

HR case assignment in ServiceNow HRSD runs in two layers that most admins treat as one. HR assignment rules choose the group, matching rules choose the person, and both are silently preempted by settings that live somewhere else. This page lays out the real order of execution, the load formula behind least loaded, and the reason a correct looking assignment rule never fires.

See how it works
Rules you control Works beside your stack No black box No sales call
Routing Studio
Assigned

Routed by your rules
Inbox
Assignees load
Skipped

In short

ServiceNow HR case assignment works in two stages. An HR assignment rule sets the assignment group when the HR service template has not already set one, and a matching rule then picks a specific agent inside that group by required skills, the subject person country, and lowest current load. Load is defined as active HR cases plus active HR tasks. The assignment rule is skipped whenever the case already carries a group, which is why rules that look right do nothing.

// THE FIT

Why it fits

This page is for an HR service delivery lead, HRSD administrator, or HR operations manager running HR Case and Knowledge Management in ServiceNow who has cases landing on the wrong tier, one agent absorbing a whole service, or an assignment rule that tests clean and never fires. It assumes the HR core application is already live.

The template wins, so your assignment rule is skipped

The accepted community answer is one sentence: the assignment rule will be skipped if the case is already assigned to the assignment group. The HR service template writes the group before HR assignment rules are evaluated, so a rule that targets a service whose template names a group never runs. Nothing logs it.

Least loaded counts records, not effort

The documentation defines load as active cases of type HR Case (or extension) or active HR Tasks. A benefits agent holding twelve one-line address changes measures busier than a colleague working three grievances. The engine is doing exactly what it says; it is just not measuring what a manager means by busy.

Country beats skills, then skills run alone

Every HR table ships two matching rules: Agents by skills and country at the higher priority, then Agents by skills as the fallback. If the first rule finds even one eligible agent, the second never executes. One person in the right country with the right skill will receive every case for that service.

Advanced Work Assignment offers, it does not assign

A community member evaluating AWA for HR cases summed it up: it does not assign tasks directly but would require agents to accept the task through workspace. If the goal is a populated Assigned to field with nobody clicking, AWA is the wrong tool and matching rules are the right one.

HR tasks bump the parent case agent to the top

For HR tasks the process adds one step: if the parent case agent is in the eligible list, that agent moves to the top regardless of load. Sensible for continuity, and also why one agent on a long onboarding case keeps receiving its tasks while their load climbs.

Auto Assign only fires on an empty Assigned to field

The Auto Assign business rule on the HR case checks three things: the state condition, assignment group not empty, assigned to empty. Fill Assigned to by any route, including a fulfiller picking the case up, and the engine steps aside for good. There is no reassignment pass.

// COMPARE

Side by side

Every way a ServiceNow HR case gets a group and an agent, in the order they actually run

Mechanism What it sets When it runs Skipped when Where it leaks
HR service template Assignment group, and optionally required skills On case creation from the service The template has no group One group per service. Regional or tiered HR teams have to be handled somewhere else.
HR assignment rule Assignment group, optionally assigned to After the template, in rule order, lowest number first The case already has an assignment group Silent. A skipped rule writes nothing, so the symptom is a case in the wrong group with no trail.
Matching rule: agents by skills and country Assigned to When group is set and assigned to is empty No agent in the group has every required skill in the subject person country Country is read from the subject person. A relocated employee with a stale record routes to the wrong region.
Matching rule: agents by skills Assigned to Only if the country rule found nobody Skills are not maintained on group members One agent tagged with a rare skill receives every case that needs it.
Advanced Work Assignment An offer in the Agent Workspace inbox When the case matches an AWA queue and the agent is available with capacity No Agent Workspace, or the case does not match a queue Requires acceptance. A declined or timed out offer leaves the case exactly where it was.
Manual pick from the group queue Assigned to Any time Nothing Cherry picking. Simple cases clear in minutes and the awkward relocation case ages.

Two facts decide most tickets about this table. The assignment rule never overwrites an existing group, and the Auto Assign business rule never overwrites an existing agent. Neither mechanism reassigns; both only fill empty fields.

// DETAIL

In detail

What the documentation and the HRSD community actually say

HR assignment rules versus HR matching rules, and why they are two different products

The ServiceNow documentation on assignment and matching rules in HR draws the line cleanly. Assignment rules are used to assign the HR group when it is not specified in the catalog template. Matching rules are applied after assignment to select a specific agent within that group. The first answers which team, the second answers which person, and they are configured in two different modules with two different data models.

Assignment rules live under HR Administration, HR Assignment Rules. A rule has an Applies To tab, where you set the conditions such as HR service and case type, and an Assign To tab, where you name the group and optionally a user. Rules evaluate in order, lowest number first, and the community article on HR assignment rules notes that complex scenarios can drop into a script. The example that comes up in almost every thread is a payroll case with no group routing to the Payroll team.

Matching rules sit under HR Administration, HR Matching Rules, which filters the platform wide list at Routing and Assignment, Matching Rules down to HR. They are powered by the Resource Matching Engine plugin, com.snc.matching_rule, which the HR core application com.sn_hr_core activates on install. The gateway is the hr_AssignmentAPI script include, and the working logic sits in hr_AssignmentUtil, which the community article flags as subject to ServiceNow updates. That is the polite way of saying do not customize it; every upgrade can replace it.

The practical consequence: when someone asks for HR case auto assignment, the first question is whether they want the group chosen or the agent chosen. The group is an assignment rule. The agent is a matching rule. A great deal of wasted configuration on sn_hr_core_case comes from building the wrong one.

Why a correct assignment rule never fires: the template runs first

This is the thread that repeats most often in the HRSD forum, and it has a one line answer. An administrator builds a rule in a sub production instance, activates it, tests it, and the case lands somewhere else. The accepted solution: the assignment rule will be skipped if the case is already assigned to the assignment group. The HR service template, and any other assignment source, writes the group before assignment rules are evaluated. If the template for that HR service names a group, every case from that service arrives with a group already set, and the rule has nothing to do.

There is no error, no log line, and no field on the case that says a rule was skipped. The only symptom is a case in the group the template chose. The fix is either to remove the group from the template and let rules decide, or to accept that the template is the routing for that service and build the exception elsewhere. Teams with several HR departments take the first route deliberately: the documentation describes removing default group assignments and letting matching rules route cases by employee location.

The same fill only behavior applies one level down. The Auto Assign business rule on the HR case has three conditions, per the community walkthrough: the state criteria, assignment group not null, and assigned to null. When all three hold it calls the matching rule processor and, by default, retrieves a list of one agent. When assigned to is already populated, the rule does not run. A fulfiller who picks a case up from the queue has therefore ended automation for that record. Nothing in the out of box configuration takes a case back.

What least loaded actually measures, and the three agent, two agent problem

The load formula is documented, and it is narrower than most managers assume. The community article on the basics of HR assignment rules defines it verbatim: load, which is defined as active cases of type HR Case (or extension) or active HR Tasks. The engine takes the eligible agents in the group, intersects those who hold every required skill on the case with those whose country matches the subject person, sorts the survivors by that count, and returns the top of the list.

A forum thread shows the formula in action. An administrator enabled skills based assignment for a General Benefits Inquiry service with the HR Benefit skill. Three agents in the Tier 1 group held the skill, yet cases only ever reached two of them. The accepted answer from a community Mega Sage: the matching rule script checks for eligible agents with that skill and assigns to the ones with the lowest count, so the question is whether the third agent already had a large number of active cases. A ServiceNow employee added the detail that settles it: the load count includes both HR Cases and HR Tasks. The third agent was not misconfigured. They were busy, by the only definition the engine has.

That definition has a side effect worth naming for anyone reporting on HR team fairness. Twelve trivial cases outweigh three serious ones. An agent who closes fast stays lightly loaded and keeps receiving work; an agent who works difficult cases carefully looks perpetually busy and is skipped. The distribution is even by record count and uneven by effort, which is the same shape as the round robin versus load balancing trade off on every other platform, with the twist that HR tasks count as full load units alongside cases.

Country first, skills second: the two out of box matching rules

Each HR table and each HR task table ships with two matching rules at different priorities. The documentation names them: Agents by skills and country at the higher priority, and Agents by skills below it. The processing is strictly tiered. If the first rule finds any eligible agent, the second rule does not execute. Only when nobody in the group matches on both skills and country does the engine fall back to skills alone.

Two configuration details make or break this. First, skills have to exist on people, not just on services. The documentation points to HR Administration, HR Services, HR Templates to confirm the required skills on the template, and HR Administration, Manage Roles, Manage HR Skills to confirm which users actually hold them. A required skill that no group member holds means the country rule finds nobody, the skills rule finds nobody, and the case sits assigned to the group with an empty Assigned to field. Second, country comes from the subject person record. A transferred employee whose profile still says the old country routes to the old region until HR data catches up, and the engine has no way to know.

The concentration risk is the one to watch. One agent with a rare skill in the right country is, by the rules above, the correct answer for every case that needs that skill, and they will receive all of them until their load exceeds every colleague. The thread about three agents and two recipients is one version of this. A single specialist on a compensation skill is the more expensive version.

Advanced Work Assignment for HR cases: what it adds and what it will not do

Advanced Work Assignment comes up in nearly every HR routing thread as the answer to skills, availability, and capacity, and it is a genuine answer for the first two. AWA routes work to agents who are present and under capacity, which neither assignment rules nor matching rules consider. A matching rule will happily hand a case to the least loaded agent who logged off an hour ago.

The limitation is the one a community member stated while evaluating it for HR cases: it does not assign tasks directly but would require agents to accept the task through workspace. AWA produces an offer in the Agent Workspace inbox. The agent accepts, declines, or lets it time out. For chat that is exactly right. For an HR case that a manager expects to see populated with an owner the moment it is created, an offer is not an assignment, and a declined or expired offer leaves the case where it was. AWA also needs an active ITSM, CSM, or HRSD subscription and an Agent Workspace deployment, which is covered on the ServiceNow Advanced Work Assignment page along with the capacity and presence mechanics.

The HR Agent Workspace FAQ adds a constraint that surprises teams planning inbox priority: the work item order for the Agent inbox cannot be configured, and the latest chat offered will always be at the top of the list. Capacity does what you expect, with the FAQ example of an agent at capacity four already on three chats receiving the VIP chat first when two arrive. None of that changes the core point. If the requirement is a filled Assigned to field, matching rules do it and AWA does not.

Where Assigner fits beside HRSD, and where it does not

The mechanisms above share one design choice: they fill empty fields once and never revisit. None of them weight agents, so a senior generalist and a first month hire are equal recipients. None of them read availability, so out of office is invisible unless someone builds it. Least loaded counts records, not effort. AWA reads availability but only offers. And the reason for any given assignment is not written anywhere on the case, which is the first thing an HR business partner asks when an employee escalates.

Assigner sits beside ServiceNow rather than inside it. It takes the case attributes HRSD already has, 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. At $12 per user per month billed yearly, or $15 monthly, it is priced for an HR operations team rather than a platform program. It is not a ServiceNow store application, it does not replace HR core, and if your only problem is a skipped assignment rule, the fix is the template setting described above and costs nothing. The transparent assignment page shows what the recorded reason looks like, and the ServiceNow assignment group page covers the group layer for ITSM, which shares the same fill only behavior.

// FAQ

Questions buyers ask

Frequently asked questions

How does HR case assignment work in ServiceNow?

In two stages. An HR assignment rule sets the assignment group if the HR service template has not already set one, evaluated in order with the lowest number first. Then, when the case has a group and no agent, the Auto Assign business rule calls the matching rules, which choose the least loaded agent in that group who holds every required skill, preferring agents in the subject person country.

Why is my ServiceNow HR assignment rule not working?

Almost always because the case already has an assignment group when the rule is evaluated. The accepted community answer states that the assignment rule will be skipped if the case is already assigned to the assignment group, and the HR service template writes the group first. Remove the group from the template for that service, or build the routing in the template instead. There is no log entry for a skipped rule.

How do I auto assign an HR case to a group in ServiceNow?

Either set the assignment group on the HR service template, which applies to every case created from that service, or go to HR Administration, HR Assignment Rules, create a rule, set the conditions on the Applies To tab such as HR service and case type, and name the group on the Assign To tab. Use the template for one group per service and rules for exceptions such as a case type that belongs to a different team.

How do I auto assign an HR case to an agent, not just a group?

That is a matching rule, not an assignment rule. Once the case has a group and an empty Assigned to field, the Auto Assign business rule runs the HR matching rules and populates Assigned to with the least loaded eligible agent. Confirm the required skills exist on the HR template and that group members hold them under HR Administration, Manage Roles, Manage HR Skills, or the rule finds nobody.

What is the difference between HR assignment rules and HR matching rules?

Assignment rules choose the group; matching rules choose the person inside the group. The documentation states that assignment rules are used to assign the HR group when it is not specified in the catalog template, and matching rules are applied after assignment to select a specific agent within that group. They are separate modules with separate conditions.

What does least loaded mean for ServiceNow HR case assignment?

The agent with the fewest active records, where load is defined as active cases of type HR Case or an extension, plus active HR tasks. It is a count, not an effort estimate, so many small cases outweigh a few large ones, and an agent whose parent case spawns several tasks measures as heavily loaded by their own case.

Why does skills based HR case assignment only go to some agents?

Because the engine sorts eligible agents by load and returns the top of the list. In a community thread, three agents held the required skill but only two received cases; the answer was that the third had more active HR cases and tasks. A ServiceNow employee confirmed that both HR cases and HR tasks count. The third agent was busy by the engine definition, not misconfigured.

Does the HR matching rule use country or location?

Country, taken from the subject person on the case. The higher priority rule, Agents by skills and country, only considers agents whose country matches. If it finds anyone, the skills only rule never runs. If the subject person record has a stale country after a transfer, the case routes to the old region.

Can Advanced Work Assignment auto assign ServiceNow HR cases?

It can route them, but it offers rather than assigns. A community member evaluating it noted it does not assign tasks directly but would require agents to accept the task through workspace. AWA also needs Agent Workspace and an active ITSM, CSM, or HRSD subscription. If you need the Assigned to field populated without a click, use matching rules.

Does ServiceNow reassign an HR case if the agent is out of office?

Not out of the box. The Auto Assign business rule only runs when Assigned to is empty, and matching rules do not read availability. An agent on leave keeps their cases and, if their load count is low, keeps receiving new ones. Handling absence needs either AWA presence, a custom rule that removes absent agents from eligibility, or a routing layer beside the platform that reads availability.

What happens to an HR task when the parent case already has an agent?

The task matching process adds one step after ordering by load: if the parent case agent is in the eligible list, that agent is moved to the top regardless of load. So tasks follow the case owner by default, which preserves continuity and also concentrates work on whoever holds long running cases such as onboarding.

Can I turn off auto assignment for one HR service?

Yes. The documentation notes that auto assignment can be skipped for specific HR services through the case options on the Create or modify an HR service form. Cases from that service still get a group from the template or an assignment rule, but the matching rules do not fill Assigned to, so the group works the case from its queue.

Keep reading

Related ServiceNow routing pages worth reading next:

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.