OBLYTECH Logo
OBLYTECH Logo
Troubleshooting ServiceNow Service Level Management: A Practical Guide
Home / Guides, Services and Solutions / IT Service Management: Guides and Services / Service Level Management: Guides and Services / Troubleshooting ServiceNow Service Level Management: A Practical Guide

Troubleshooting ServiceNow Service Level Management: A Practical Guide

Troubleshooting Service Level Management means starting from the symptom a team reports, such as breaches that should not have happened or escalations that never fire, and narrowing the cause to process, configuration or data. This guide sets out the checks in that order, the evidence to capture before anything is changed, and when to escalate to platform support.

Symptom-Led Diagnosis Approach

When Service Level Management is not working as expected, the root cause is often not obvious. Teams report that “SLAs are not being met” without clarifying whether the SLA definition is unrealistic, the calculation is wrong, or the team is simply overloaded. A symptom-led approach starts with the observed problem and systematically narrows the cause. Is the symptom that a specific SLA is not met, or all SLAs are slipping? Is it affecting one service or multiple? Did the problem start recently (something changed) or has it always been this way?

Common symptoms are: SLA compliance is lower than expected (SLA is breached more often than it should be), SLA escalation is not firing (at-risk incidents are not escalating), SLA calculations are inconsistent (same incident type sometimes meets SLA, sometimes does not), or SLA data is missing (some incidents have no SLA recorded). Each symptom points to different causes: processes, configuration, or data.

Where to Look in the Platform

If SLA compliance seems low, first check the SLA record. In ServiceNow, open the Service Level Management application and find the list of SLA definitions; menu names vary by release. Confirm that the SLA target is realistic for current team capacity. A one-hour response target for critical incidents cannot be met by an on-call rota that takes most of a working day to respond. Sometimes the symptom is not a platform problem; it is an unrealistic expectation.

If SLA is defined correctly, check the incident records. In the incident table, add a filter for incidents of the type that is not meeting SLA. Examine individual incidents: is the SLA Start Time correct? (Should be when the incident was created, or when it was assigned?) Is the SLA Target End Time correct? Is the incident Status when the SLA was evaluated? (Some platforms only count incidents in certain states.) These details affect whether the incident counts as SLA met or breached.

If SLA escalation is not firing, check business rules. Navigate to System Policy > Business Rules and search for SLA-related rules. Confirm that rules are active and that conditions trigger as expected. Test a rule manually if possible. If escalation should happen at a certain threshold of the SLA deadline, verify that the escalation threshold is set correctly and that the rule fires at that point..

Likely Causes and Fixes

Cause 1: SLA is defined but not associated with incidents. In Service Level Management > Service Level Targets, confirm that SLAs are linked to the correct services or incident categories. An SLA defined for “incident category = Change” will not apply to incidents with category “Hardware” even if both are high priority. Create appropriate SLA associations or adjust the SLA definition scope.

Cause 2: SLA time calculation is wrong. SLA time should exclude holidays and (optionally) off-business hours. Confirm that the business calendar is correct (holidays are defined correctly) and that schedule entries (business hours) are accurate. If the business calendar is off by one day, any SLA duration that depends on that schedule will be wrong. Also confirm whether SLA pauses when the incident is waiting for customer response; if not configured, SLA keeps running against incidents waiting for customer action.

Cause 3: SLA is applied incorrectly because incident data is incomplete. If incidents lack a service assignment or priority field, the SLA matching logic cannot determine which SLA applies. Confirm that incident data quality is sufficient. Some organisations route low-quality incidents into a “general” SLA as a catch-all; clean up the data and re-categorise later.

Cause 4: Escalation is not configured to take action. Escalation can notify (send an alert) or escalate (move the incident to a senior team). If escalation is only sending alerts and no one is reading them, escalation is not changing behaviour. Add actions: escalate the incident to engineering, notify the manager, or assign to an on-call responder.

When to Escalate for Help

Escalate to support if: you have corrected data and SLA configuration but SLAs are still not calculating correctly (possible platform bug), SLA escalation rules are not triggering despite correct configuration (possible database issue), or you have custom SLA logic (scripts, workflow automations) that is not working as expected. Provide clear reproduction steps and example incidents so support can investigate.

Performance and Tuning Considerations

SLA calculation can be resource-intensive, especially if there are complex SLA rules or many open incidents. If ServiceNow is slow when incidents are updated, SLA calculation might be the bottleneck. Consider scheduling SLA calculation asynchronously (background job) rather than synchronously (during incident update). This requires redesigning escalation to check SLA status periodically rather than immediately.

Reporting on SLA compliance can also be slow if there are millions of historical incidents. Consider archiving old incidents or creating a summary table that pre-calculates monthly SLA compliance so reports do not need to query every incident.

Post-Incident Review for SLA Issues

When a major incident occurs and SLA escalation fails, conduct a post-incident review. Walk through what happened: when was the incident created, when should escalation have fired, did it actually fire, if not why not, what was the consequence? Document the path from incident creation to escalation failure (or success) so the root cause is clear. Fix the underlying issue (process, configuration, or data) so it does not repeat.

Matching the observed symptom to the first place to look

Reports that SLM is “not working” usually describe a symptom rather than a fault. The fastest route is to match the symptom to a first check, then move to the next only if that check clears. The table is a triage order, not a diagnosis. Each row names the evidence to capture before anyone changes a configuration, because a configuration change can erase the state that would have explained the problem.

Observed symptom First check Likely cause if that check fails Evidence to capture first
A breach recorded when it should not have been The timeline on the task SLA record A pause or reset condition that did not clear, or a calendar error Export of the timeline with every state change
A breach not recorded when it should have been Whether a matching SLA definition applied to the task at all Definition conditions that do not match the task’s category or priority The task’s field values as they stood at creation
Warnings arriving after the target has passed Whether the warning point is measured on the same schedule as the target A warning computed on a different calendar from the target Warning and target times for three sample tasks
Different figures for one ticket in two reports Whether both reports use the same population and timestamp Reports built on different definitions of closure Both report definitions side by side
Timers stopping on tickets nobody paused Pause activity recorded on the task A condition that matches more states than intended Pause log for the affected tasks

Reading the task SLA record before changing anything

The task SLA record is the most informative object in a fault investigation, and it is often skipped in favor of the definition. Read it from start to finish. Note the time the timer started, each point at which it paused or resumed, the remaining time at each change, and the final stage. Compare that sequence with the definition’s conditions one at a time. Many faults that look like platform errors turn out to be a condition that matched a state nobody had considered. Treat any edit to the record itself as a last resort, because an edited timeline cannot be reconstructed afterwards.

Stopping and restarting timers without losing history

Sometimes a timer has to be stopped while a fault is corrected, for example during a calendar fix. Stopping it is acceptable; deleting its history is not. Record the time of the stop and the reason, make the correction, and then restart the timer so that the history shows the interruption. Check afterwards that the remaining time matches what the corrected calendar implies, and note the effect on the reported figure. A correction that leaves no visible trace will be found later, usually during an audit, and the explanation will be harder than the original fault.

Procedure for a breach that should not have happened

  1. Freeze the evidence: export the task timeline and the definition as they stood before any change was made.
  2. Identify the state at which the remaining time diverged from the expected value, and list the condition that governed that state.
  3. Check the business calendar used by the definition for the period covered, including any holidays added late.
  4. Reproduce the calculation by hand from the timestamps, and compare the result with the platform figure.
  5. Correct the cause rather than the individual record, then check whether other tasks show the same pattern.
  6. Record the finding in the decision log, listing the affected tasks and stating the corrected figure.

Where the calendar is the suspect, calendar fault patterns are worked through in the testing and acceptance checklist, under its boundary cases.

Questions about SLM troubleshooting

How can a team separate a data problem from a configuration problem?

Take one ticket that shows the wrong outcome and check its field values against the definition’s conditions. If the values are wrong, the fault is in the data and the configuration is working as designed. If the values are right and the outcome is still wrong, the configuration or the calculation is at fault. Where the values come from another system, the integration patterns guide sets out how that feed should behave.

Should a fault be fixed in the definition or in the affected records?

Usually in the definition. Correcting individual records hides the cause, and the fault will return on the next matching ticket. Where records must be corrected, record the correction in the audit trail and state the reason.

When is it time to stop investigating and escalate?

Once you have a reproduction, the evidence is captured and the basic checks have been ruled out. Continuing past that point usually means waiting while breaches keep arriving.

Writing a reproduction that support can act on

When the cause is not clear from the investigation, the quality of the report to the platform support team decides how quickly the fault is fixed. A useful report names the definition, gives the task identifiers, lists the exact time of each state change, states the expected result and the observed one, and includes the calendar in use. A report saying the SLAs are wrong for a team is not actionable and will sit in a queue. Write the reproduction steps as numbered actions, and mark which steps you have already verified.

Next step when the checks come back clean

Incident-side measures that feed these timers are in incident management KPIs, and the prevention side is in the breach prevention article.

Service level management tables, fields and stage values to check first

Service level management faults often trace to one of three places: the SLA definition record, the task SLA record it creates, or the schedule behind the timer. Read the task SLA first, because its stage, elapsed percentage and breach flag show what the timer actually did.

These are common out-of-box names. Check them on your own instance and release, because labels and defaults change between releases.

Item Name What it tells you
Definition table contract_sla Start, stop, pause and reset conditions, plus the schedule
Per-task record task_sla One row per attached definition on each task
Stage values Typically In progress, Paused, Completed and Cancelled Whether the timer is still running
Breach flag Has breached Set once the target time passes
Progress field Business elapsed percentage How much of the target is used
Admin role sla_admin Typically the role that manages SLA definitions

Example (hypothetical): a team says priority 2 incidents never show a timer. Open one such incident, scroll to its task SLA related list, and find it empty. Next, read the start condition on the definition. If it requires a field value that agents set only later, the timer never attached. Fix the condition, then test on a new record rather than editing old ones.

Why does a task SLA stay in progress after the work finished?

The stop condition on the definition probably never became true, for example because it checks a state value that your process no longer uses. Compare the stop condition with the states agents really set, then correct the definition.

How do I tell a paused timer from a broken one?

Look at the stage and the pause condition together. A Paused stage with a pause condition that matches the incident state is working as designed. Business elapsed percentage that stops moving while the stage says In progress can point to a schedule problem. See the service level management overview.

Should I change a definition that has live task SLAs?

Be careful. Existing task SLA rows may not pick up a corrected definition, so test on new records and check old ones separately. Record the change, then check results through performance analytics for ITSM and your incident management reports.

Frequently asked questions

Why are some incidents not showing an SLA?

Incidents without SLAs are usually missing required data for SLA matching. Check that the incident has the fields the SLA uses for matching (e.g., service, priority, customer). Add missing data and the SLA should apply. If the incident is very old (created before SLMs were active), it may not have an SLA retroactively. SLAs usually apply to incidents created after the SLA definition.

How do we know if SLA escalation is working?

Test with a fresh incident. Create a test incident of a type that should have an SLA, then wait and monitor for escalation. If it fires, escalation is working. If not, check business rules, notification settings, and the SLA definition. Some escalation might silently fail (e.g., if the target email address is incorrect); check logs to see if escalation was attempted.

Should we include holidays in SLA calculations?

Yes. Confirm that your business calendar has correct holiday dates. If your team is off on a holiday but the SLA timer keeps running, the SLA becomes unrealistic. Most organisations exclude holidays and after-hours time so SLA measures actual working time available to respond.

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