Incident Management

Create an Assignment Rule for Incidents

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
Chrome Extension

Sourdough: ServiceNow Monitoring and Analytics

A Chrome extension for ServiceNow Admins and Developers with essential tools, analytics, graphs and monitoring features.

Instance HealthGraphs & ChartsAPI HealthDeveloper ToolsQuick SearchInstance Switcher
Add to Chrome

Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.

Overview
Tasks
CMDB
API
Metrics
Monitor
Internals
Instance:sourdoughdev·Version:Yokohama
Instance StateONLINE
System StatusFully Operational
Session Timeout90 minutes
Logged-In Sessions2 (20 active)
Build Nameyokohama-12-18-2024_p1
IP Address10.159.128.43
Instance HealthHealth Score: 90%
🔥 5dSourdough (Chrome Plugin)Dark Mode

Step by step

1

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.

2

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.

3

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.

TIP

Use 'contains' instead of 'equals' for text fields where users might phrase things differently.

4

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.

5

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.

6

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.

TIP

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.

Question 1 of 3Performance

A list view on a table with millions of records is slow. Best fix?

Select an answer to continue