Assignment rules automatically route incidents to the right team or person based on criteria you set, eliminating manual assignment and reducing response times. You'll build a rule that triggers on incident creation and updates, with conditions that determine which group gets the work.
Why manual incident assignment breaks down
Without assignment rules, someone has to manually read each new incident and decide which team should handle it. Service desk agents become bottlenecks, incidents sit unassigned during off-hours, and routing decisions vary by whoever's working that day. For teams managing hundreds of incidents weekly, this manual process creates delays and inconsistent service levels that frustrate both agents and end users.
How assignment rules work
Assignment rules are condition-based logic that runs when incidents are created or updated, but only when the assigned_to field is empty. ServiceNow evaluates rules in priority order — lowest number wins — and stops at the first match. Each rule has a condition (what triggers assignment) and an action (which group or user gets it). The key is building conditions that are specific enough to route accurately but broad enough to catch variations in how users describe problems.
Building beyond basic routing
Start with obvious categories like 'Hardware' goes to Desktop Support, then add location-based routing and time-based rules for after-hours coverage. Advanced implementations use multiple criteria (category AND location AND VIP status), escalation rules for high-priority items, and integration with CMDB data to route based on affected services. The goal is reducing mis-routed incidents while avoiding rules so complex they become unmaintainable.
Before you start
- •incident_manager role or higher
- •Assignment groups already created and populated with users
Sourdough: ServiceNow Monitoring and Analytics
A Chrome extension for ServiceNow Admins and Developers with essential tools, analytics, graphs and monitoring features.
Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.
Step by step
Navigate to Assignment Rules
Go to Incident > Administration > Assignment Rules. This opens the Assignment Rules list view where you'll see existing rules ordered by priority. The order matters — ServiceNow processes rules from lowest to highest priority number and stops at the first match.
Create a new assignment rule
Click New to create a rule. Fill in the Name field with something descriptive like 'Hardware - Desktop Support Team'. Set the Order field to a number — start at 100 so you can insert rules later without renumbering everything. Lower numbers run first, so critical routing rules should have lower order values.
Build the assignment condition
In the Conditions section, use the condition builder to define when this rule should fire. For example, set Category equals Hardware or Short description contains 'laptop'. You can add multiple conditions using AND/OR logic. Test your conditions against existing incident data to make sure they're not too broad or too narrow.
Use 'contains' instead of 'equals' for text fields where users might phrase things differently.
Set the assignment target
In the Assignment section, choose either Assigned to (for a specific user) or Assignment group (for a team). Most incident routing uses Assignment group since teams handle work collectively. Select the group from the reference field — don't type the group name, use the search icon to ensure you get the right sys_id.
Configure additional assignment options
Set Active to true so the rule will run. Leave Advanced and Script empty unless you need custom logic — most assignment rules work fine with just conditions and target groups. If you need the rule to run even when assigned_to has a value, check the appropriate box, but this is rarely needed and can cause assignment thrashing.
Test the rule
Save the rule, then create a test incident that matches your conditions. Leave the assigned_to field blank and verify the rule fires correctly. Check the System Log if assignment doesn't work — look for assignment rule execution messages that show which rules evaluated and why they matched or didn't match.
Create test incidents in a sub-production instance first to avoid cluttering production data.
Best practices
Keep assignment rule conditions simple and readable — complex nested logic is hard to debug when routing goes wrong months later.
Use specific order numbers (100, 200, 300) instead of sequential (1, 2, 3) so you can insert new rules without renumbering existing ones.
Don't create overlapping rules that could match the same incident — the first match wins, so later rules become unreachable dead code.
Test assignment rules with real incident data, not just obvious examples — users describe problems in unexpected ways that can break precise conditions.
Set up routing rules for advanced scenarios like escalation and SLA management — assignment rules only handle initial routing, not ongoing workflow.
Test Your Knowledge
Quick 3-question quiz — see how your ServiceNow skills stack up.
A list view on a table with millions of records is slow. Best fix?
Select an answer to continue