OBLYTECH Logo
OBLYTECH Logo
Troubleshooting ServiceNow Incident Management: A Practical Guide

Troubleshooting ServiceNow Incident Management: A Practical Guide

Diagnosing Incident Assignment Failures

Incidents that sit unassigned reveal problems in routing logic, group staffing, or escalation configuration. The symptom is visible in the platform: growing unassigned incident counts or increasing time-to-assignment metrics. The diagnosis requires checking several layers. Start by reviewing assignment rules in the incident form and routing engine configuration. Rules may reference groups that no longer exist, have no active members, or operate on criteria outdated since the last organizational change. A routing rule checking for a “Windows Server” team will fail if that team was renamed to “Operating Systems” six months ago.

A common scenario: a routing rule assigns incidents to a group named “Network Team,” which was renamed to “Infrastructure” six months ago. The rule never matches, and incidents fall through to a catch-all assignment or manual triage queue. ServiceNow does not alert on broken rule references; discovery requires review of both rule conditions and current group names. Implementation best practice: before removing groups from ServiceNow, audit active routing rules to ensure no dependencies exist.

Escalation and On-Call Chain Issues

Escalation policies often fail silently. An incident marked critical should escalate to an on-call manager if not acknowledged within a defined window. If escalation never fires, the issue may be configuration but more often reflects workflow state confusion or missing action records. Reviewing the incident audit trail shows what the system thinks happened versus what users expect. The sys_audit table in ServiceNow records changes to audited fields; inspecting this for specific incidents shows whether escalation triggers fired.

ServiceNow incident escalation depends on the incident state and flag status. An incident assigned but flagged as waiting for customer information should not escalate, but misconfigured workflows may not check this condition. Similarly, on-call schedules must exist and be populated; an escalation path that references an empty schedule achieves nothing. Organizations should implement quarterly validation: checking that on-call schedules have assignments for all time periods and that escalation paths resolve to real people.

Duplicate and Related Incident Detection

Incidents representing the same underlying problem should be correlated or consolidated. If customers report identical symptoms without detection, the system may lack search or detection rules, or staff may not use correlation features. The symptom is high incident volume with low resolution time variance—many incidents closed without investigation. Very short resolution times alongside high incident volume can point to duplicates closed without investigation, though other causes produce the same pattern.

Implementing effective correlation requires clean description entry and maintained knowledge content. If incident descriptions are terse or inconsistent (“system down” versus “prod-db-01 unavailable”), correlation rules cannot reliably group related work. Training incident creators to use consistent terminology and link related incidents during entry improves correlation effectiveness. Many organizations implement templates or drop-down fields to standardize incident descriptions, making correlation more reliable.

Resolution and Customer Notification Delays

Incidents closed in ServiceNow but never communicated to customers create perception gaps. The platform shows resolved status while customers remain unaware. This indicates workflow gaps: missing notification steps when incident state changes to resolved, or customer contact information not linked during incident creation. Troubleshooting this requires examining both the incident resolution workflow and communication table records. If resolution workflow contains no email or notification action, no communication occurs. If customer contact is not populated during incident creation, notification has nowhere to go.

Organizations implementing automated customer notification should test the full flow: create a test incident, verify customer notification fires when resolved, and confirm customers actually receive messages. Some organizations track customer notification delivery as a metric: what percentage of resolved incidents result in customer notification, and why do some incidents fail notification delivery?

Performance and Query Bottlenecks

Incident dashboards, reports, or incident lists that load slowly or timeout suggest database performance issues. The incident table in ServiceNow can grow large without archiving; queries across years of data slow without proper indexing. Performance queries should filter by date range, avoid expensive field calculations, and use indexed fields for conditions. Large organizations often archive incidents older than a business year, reducing active table size and improving user experience.

Diagnostic approach: check incident table row count (open the incident list with no filter and read the total record count), confirm archiving policy is active, review dashboard and report queries for field selections and filter logic, verify indexes exist on frequently filtered fields. Database query analysis tools can identify slow queries; fixing the slowest few queries often removes much of the problem.

Start from the symptom map, not from the configuration

When an incident process misbehaves, the instinct is to open the business rules and start reading. That often wastes a day. A faster route is to write down exactly what a user or manager sees, then work out which layer could produce it. A record that reopens itself, a ticket that bounces between two groups and a priority that changes after it was set all look like “the workflow is broken”, but each has a different cause and a different place to look. Keep a one-page map that pairs each symptom with the three most likely causes, and the first check for each.

The map also protects you from fixing the wrong thing. A group that receives too many incidents may look like a routing problem when it is really a categorization problem upstream, and the fix in the routing rule would simply move the pain to another group.

Decision table for common symptoms

What people report Most likely layer First check Avoid doing first
Incident bounces between two groups Assignment logic or category values Compare the category on each bounce with the group that received it Editing the group membership
Incident reopens after resolution Resolution code and close-state rules Check which user or process changed the state after closure Removing the reopen rule
Priority changes with no edit Impact or urgency being recalculated by a process Review the history of the impact and urgency fields Locking the priority field for everyone
Service level looks wrong Service level definition or the schedule it uses Confirm which definition and which schedule were applied at creation Editing an active definition in place
Lists and reports time out Query shape or table growth Check whether the slow view filters on indexed fields Adding more columns to the view

Diagnosing an incident that will not settle

  1. Pick one incident that shows the symptom and freeze it for review. Do not edit it while you investigate.
  2. Read the activity history in order, and mark each change as made by a person, a business rule, a flow or an integration.
  3. Find the first change that departs from what the process says should happen, and note the time and the user or process that made it.
  4. Check the configuration that was active at that time, not the configuration you see today, because changes since then may have hidden the cause.
  5. Reproduce the condition in a test record with the same category, group and priority, and confirm the behavior matches.
  6. Only then change the configuration, and retest against the frozen incident and two others with the same symptom.

Bounce loops and the fixes that create new ones

Bounces are the symptom often treated with a quick rule. Adding an exception that routes a category to a specific group can stop the loop for the cases it was written for, while silently sending every other edge case somewhere unexpected. Two fixes that look sensible but cause trouble are removing a group that still appears in a routing condition, and suppressing a notification to reduce noise without checking who depended on it. In both cases the damage is quiet. The incident keeps moving, but a person who used to receive a prompt no longer does.

When a fix changes routing, run a short regression pass: pick a dozen recent incidents from each category the change touches, replay them mentally or in a test instance, and record where each one would now land. A change that cannot be explained in that list should not go live.

When to stop troubleshooting and redesign

Some symptoms are the platform telling you the design is wrong. If every fix introduces a new exception, if nobody can say which group owns a category, or if the same symptom returns after each release, the answer is often not another rule. Stop, write the intended flow on one page, compare it with the flow as built, and treat the gap as a design defect. The process review baseline covers identifying decisions, ownership gaps and handoff friction, which is the comparison needed here.

Questions support leads ask during an incident problem

Why do incidents reopen after they were marked resolved?

Many reopens come from one of three places: a user replying to a closure email, an integration writing back to the record, or a close-state rule that accepts a resolution the process did not intend. Check the activity history for the actor before changing anything, because the fix for a user reply is a communication change, while the fix for an integration is a contract change with the integration owner.

Why does the service level timer look wrong on an incident that was just created?

Often the timer is correct for the definition and schedule that matched at creation, and the surprise is that the matching definition is not the one the team expected. Compare the company, category and priority conditions on the definition with the values on the record, rather than assuming the timer is faulty.

Is a slow incident list always a database problem?

No. A list that filters on a computed field, joins to several large tables or sorts by an unindexed column can be slow even when the database is healthy. Test the list with a narrow filter first. If it is fast with a narrow filter and slow with the default, the view design is the cause.

What should a support lead check after a release that touched incident logic?

Check the routing outcome for a sample of recent incidents in each category, confirm that notifications still reach the people who depend on them, and read the error log for the window after the release. Those three checks can catch many regressions before users do.

Next step

When a fix keeps creating the next problem, a structured look at the intended flow usually saves time. Escalation handoffs are covered separately in the escalation criteria guide.

Incident troubleshooting: table names, fields and state values to check first

Most incident faults can be traced by reading the incident record’s own fields and its audit history: state, assignment_group, assigned_to, impact, urgency, priority and reassignment_count, plus what or who changed each one.

The names below are common out-of-box values. Check them on your own instance and release, because labels and defaults change between releases and some teams rename fields on the form.

Name What it holds Why it helps
incident table One row per incident, extending the task table Every symptom ends up as a field value here
state Typically New, In Progress, On Hold, Resolved, Closed and Canceled; some releases and customised instances differ Shows whether a reopen followed a resolve
assignment_group and assigned_to The owning group and the person Compare against the routing that was active at the time
reassignment_count How many times the assignment group has changed A high value on a young incident points to a bounce
sys_audit Recorded changes to audited fields Names the user or process behind a change
task_sla One row per service level attached to a task Shows which definition was applied
sys_email The email log, found under System Logs Proves whether a notification was generated

Example (hypothetical): a service desk lead reports that one incident keeps coming back after resolution. You open its audit history and read it oldest first. The state moves to Resolved, a person changes assignment_group, and the state then returns to In Progress minutes later. The reassignment_count already shows several moves. The cause looks like routing after resolution, so you check category and group on each hop before touching any rule.

Where do I see which process changed an incident field?

Read the audit history for the record, which lists field changes with a time and the user or process responsible. Only audited fields appear there, so compare it with the activity stream for comments and work notes, and match timestamps to find the first change that broke the expected path.

How can I tell whether a notification really fired?

Search the email log for the recipient and the time of the state change. No record usually means the notification never triggered or was suppressed, so look at the notification conditions and the recipient fields. A record that exists suggests ServiceNow generated the message and the fault sits in delivery or the recipient’s mailbox.

Why does priority not match the impact and urgency shown?

Priority is normally derived from impact and urgency by priority lookup rules, so a mismatch often means someone or a script set priority directly, or a rule changed one input afterwards. Check the history of all three fields together, then review the lookup rules your instance uses.

Related reading: incident management guides, how incident priority is derived and support for incident resolution work.

Frequently asked questions

How do we identify if incidents are stuck in a state and not progressing?

Review incident audit records to see state transitions and timing. Incidents stuck in assigned state for months without escalation suggest escalation policy failure. Use reporting to find incidents by age and state, then spot-check audit trails to identify patterns.

What causes incident assignment rules to break after organizational changes?

Routing rules reference specific groups by name or ID. If a group is renamed, merged, or decommissioned without updating rules, assignments fail. Regular rule maintenance comparing rule criteria against current group inventory prevents this.

Why are incidents closing without resolution or customer notification?

Missing notification workflow actions are the most common cause. If resolution workflow does not include communication steps, no message is sent. If customer contact information is not populated during incident creation, notification has no recipient.

Talk to Oblytech

Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.

Contact us