Integration
When ServiceNow Opens a P1 and Nobody Knows Who Owns It
Praveen Yadav
August 2026
8 min read
The assignment group was populated before a human read the ticket. It was still wrong. What ServiceNow records perfectly is not the thing the incident is asking.
A P1 opens in ServiceNow at 02:14. State is New. The assignment group is already populated, because an assignment rule or a data lookup filled it from the affected configuration item. On paper the incident has an owner before a human has read a word of it.
Then it moves. Network hands it to Platform, because the CI is a load balancer but the symptom is application latency. Platform hands it to Database, because the traces point at query time. Database hands it back, because the slow query is slow on account of a connection pool that Platform owns. Every hop is a state change, a work note, and somewhere between fifteen and forty minutes of somebody night.
None of that is a ServiceNow failure. ServiceNow recorded every hop accurately and on time. The record is exactly right and almost useless, because the field that says who owns the CI is answering a different question from the one the incident is asking, which is who can make this stop.
What the CMDB knows, and what it cannot know
A well run CMDB is a genuine asset. Discovery populates it, Service Mapping draws the application service maps, and the CI relationships record that this depends on that. It is a model of how the estate is supposed to be wired.
An incident is not a question about how the estate is wired. It is a question about what is different tonight. Those two questions overlap, which is why CI based routing works often enough to keep everyone using it, and they diverge exactly when the incident is hard, which is when routing matters most.
The CMDB answers who is accountable for this object. A P1 is asking who has the access, the context and the runbook to change the thing that is actually broken, right now. Those resolve to the same team perhaps two times in three, and the third case is the one that eats the night.
The gap widens in the places that hurt. Shared platform components have one owner on paper and five consumers in practice. Recently migrated services carry the old assignment group for months. Anything spanning two towers has a correct owner for each half and no owner for the failure mode that only exists between them.
Reassignment count is the honest metric
ServiceNow already stores the number that tells you how bad this is, and almost nobody puts it on a dashboard. Every incident carries a reassignment count. Pull the last fifty P1s, plot that field, and you have a measurement of how long your estate takes to find the right human, expressed in a unit nobody can argue with.
Two things usually fall out of that exercise. The first is that the median is not zero, and on cross domain incidents it is rarely below three. The second is that the elapsed time between the first assignment and the last one is frequently larger than the elapsed time between the last assignment and resolution. Once the right person has the ticket, the fix is often quick. Getting the ticket to them is the expensive part, and it is the part no tool in the stack is trying to shorten.
That is the same shape we described in your MTTR is mostly waiting, seen from inside the ITSM record rather than from the incident timeline.
What gets correlated before anyone is paged
When a P1 is created, or when Event Management binds an alert to one, Sentinel investigates rather than notifying. The order matters, because each step narrows what the next one has to consider.
- Observed topology, not declared topology. Which services actually called which in the last hour, which hosts actually served the traffic, and which of those paths changed shape when the symptom began. Where this contradicts the CI relationships, both versions are carried forward and the contradiction is reported.
- The change window. Every change request, deployment, configuration push and feature flag that landed on any CI inside the blast radius in the preceding window, including the ones raised as standard changes that nobody reviews.
- The other tickets. Open incidents, recent problems and the resolution notes on any incident whose signature matches. A P1 that resembles three closed incidents from the last quarter is a different problem from a P1 nobody has seen, and it should be routed differently.
- The signal underneath. Metrics, logs, traces and database query behaviour on the components inside the radius, queried in parallel rather than in the sequence a human would have to use.
- The owner, derived rather than looked up. Not who owns the CI, but who owns the component the evidence points at, who has changed it recently, and who resolved the matching prior incidents.
The output is written back into the incident as work notes and attachments: probable cause, the evidence for it, the services affected, the prior incidents that match, and the proposed assignment group with the reason it was chosen. A human opening the ticket at 02:19 reads a case rather than a symptom.
The gate decides who presses go
Correlation is the easy half. Every vendor in this category will show you a topology graph and a probable cause. The half that decides whether any of it can run inside a regulated estate is the next one.
Sentinel scores the blast radius of the proposed action, not its own confidence in the diagnosis. Those are different properties and conflating them is the most common design error in this category, which is the argument we make at length in confidence scores are the wrong gate.
- Reassign the incidentNo production system is touched, the previous assignment group is retained, and the change is reversible in one click. Runs unattended where you allow it.
- Restart a stateless workerBounded impact, a known procedure, a machine verifiable outcome. Runs under an Action Ticket with a pre-check and an armed rollback.
- Fail over the shared databaseWide radius, partially irreversible, and it affects services outside the incident. Held. The ticket is raised fully prepared and a named human approves it.
The third case is the one worth dwelling on, because the useful behaviour is not the refusal. It is that the held ticket arrives complete. The procedure is written, the pre-check has already run, the blast radius is enumerated by service, the rollback path exists and has been validated, and the approver is named rather than a distribution list. The human decision is a decision, not another investigation.
What the record has to contain
Everything above is worth nothing to a bank if it cannot be audited a year later. Against the incident, in ServiceNow, in fields your existing reports already read: the signals correlated and when, the probable cause and the evidence for it, the blast radius as scored, the decision taken and the rule that produced it, the pre-check result, the commands executed with their output, the post-check result, and, where a human approved, who they were and what they were shown at the moment they approved.
That last clause is the one auditors ask about and the one most demos skip. Recording that somebody approved is easy. Recording what was in front of them when they did is the part that makes the approval mean something.
Opstral integrates with ServiceNow ITSM and ITOM as a layer above them, not a replacement for them. The incident stays in ServiceNow, the approvals stay in your existing workflow, and the audit trail stays where your auditors already look. See the integration coverage, or the carrier estate where this pattern runs across 27,000 or more devices today.
Frequently asked questions
Does this replace ServiceNow?
No. ServiceNow stays the system of record and the approval surface. Sentinel writes into the incident rather than beside it: the correlation, the probable cause, the blast radius, the proposed procedure and the rollback path all land as structured work notes and attachments on the existing ticket. If you turn Sentinel off, the incident record is still complete and still yours.
Our CMDB is incomplete. Does that break this?
It degrades it, it does not break it. The CMDB is one input among several, and it is usually the stalest one. Sentinel also reads the live signal path: which services actually called which, which hosts actually served the traffic, and which change records actually landed in the window. Where observed topology and the CMDB disagree, the disagreement is itself reported, and in most estates that is the first CMDB cleanup backlog anyone has been given that is ranked by incident impact.
Can it reassign the ticket by itself?
Reassignment is a low blast radius action, so yes, where you allow it. It is reversible, it touches no production system, and the previous assignment group is preserved in the audit trail. Execution against the affected service is a separate decision and is gated separately. The two are deliberately not the same permission.
What happens when it picks the wrong owner?
The same thing that happens today, minus the delay: a human reassigns it, and the reassignment is recorded against the correlation that produced it. That feedback is the training signal. The honest framing is that the system is competing against a reassignment count that is rarely below three on a cross-domain P1, not against a perfect first-time routing rate that nobody achieves.