- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
3 weeks ago - edited 3 weeks ago
Questions still often arise around whether the Incident table should be extended to support very high-volume use cases, as well as the potential impact of that decision on the platform’s future state. To address this, the following provides a high-level overview researched from ServiceNow internal knowledge and best practices, outlining:
-
when extending the Incident table is not recommended,
-
scenarios where extension may be appropriate, and
-
the downstream implications of extending it.
This content is intended as a refresher. Many customers are still in the foundational stages of their ServiceNow journey, and that is entirely appropriate. The purpose is to educate, reinforce best practices, and support decisions that minimize technical debt while helping future-proof the instance as it evolves.
Best Practice: When to NOT extend incident
Generally, the rule of thumb is do not extend the incident table.
The scenarios below outline situations where extending the table is not recommended. In many cases, alternative approaches—such as process refinement, adoption of modern incident management practices, or re-evaluating the underlying use case—provide more effective and sustainable solutions. These options often apply even within large, complex enterprise environments and help avoid unnecessary technical debt or long-term customization overhead.
The following represent the most common drivers behind requests to extend the table, along with guidance on why this approach should be avoided.
Do not extend if:
| Situation | Recommendation | Benefit |
| You need more data on incidents (foundational level still using category / sub-category) |
If you only need extra attributes (10 new fields, flags, reference fields, etc.), you should: Add custom fields directly on incident and use UI policies/business rules for select groups to see/use. Do not add to cat/sub-category list. Use related tables (e.g., a 1‑many “details” table referencing incident) if it’s very repeatable child data.
Other: explore setting up services |
|
|
What you are truly looking at is not an incident |
Review your data and ensure it’s actually an incident (is it broken?) or is it a request and then separate out. |
|
|
You want different lifecycles or SLAs. |
If you do not follow standard incident SLA’s, states and reporting extending incident creates confusion – reports like ‘all incidents will start mixing different processes |
If another process truly needs different SLAs and states, it deserves its own table/process (Case, Request, custom app, etc.), not a special “kind of incident.” |
|
You are trying to sidestep licensing/entitlements. |
As with other tables, new custom tables and some extensions have entitlement implications (see custom table guide); if you are choosing incident as a parent purely for entitlement – that is a red flag. |
|
Best Practice: When to extend incident
Architect review and approval required for upgrade manageability and future impact
There are a few exceptions to this rule. Below is when you could extend incident and it is advised for your specific organization, to still have an architectural review and approval for upgrade manageability and future impact
Only extend if:
| Situation | Recommendation | Benefit |
|
If it really is a type of incident |
The record is still “an unplanned disruption or reduction in service quality” and should obey the same definition and lifecycle as an incident |
Preserves the incident definition and KPIs
Your global incident metrics (volume, MTTR, P1 counts, trends) stay meaningful and comparable.
You don’t pollute Incident with requests or other work types, which protects DT’s Incident standards and SOPs.
Problem, change, and supplier processes that rely on incident trends remain valid. |
|
You want to inherit all incident behavior. |
You explicitly want: Same state model, SLAs, assignment patterns, notifications, and reports as normal incidents. To keep it in the same operational and governance flow as other incidents (same SOPs, major incident handling, etc. |
Maximum reuse of the Incident process and configuration
State model, SLAs, priority logic, assignment patterns, notifications, reports, and integrations.
That gives you:
|
|
You need a distinctly different configuration on top. |
For example: Very different forms / UI policies. Unique business rules or workflows that would be messy to condition just on a field. Separate security boundaries or reporting slices that are easier with a distinct table. |
Targeted specialization without over‑complicating base Incident The child table lets you add only where it’s truly different:
You avoid:
|
Best Practice: Impacts on AI auto‑categorization, routing, reporting, SLAs, or integrations
Architect review and approval required for upgrade manageability and future impact
-------------------------
Downstream Impacts: AI auto‑categorization (Predictive Intelligence)
Predictive Intelligence for Incident Management is trained on incident records and their categorization/assignment patterns
|
If you keep a single Incident table and add fields / controlled choices: |
If you extend or heavily fork Incident (new child table, divergent categories): |
|
More, better training data in one place
Simpler model configuration
|
Fragmented training data
|
-----------------
Downstream Impacts: Routing / assignment
Incident categorization is explicitly used to drive routing/assignment and to establish trends for problem and supplier management
|
If you stay on base Incident with added fields: |
If you extend Incident or diverge the categorization model: |
|
Single source of truth for routing
AI + rules working together
|
More complex routing logic
Less accurate “pattern‑based” routing
|
----------------------
Downstream Impacts: Reporting and Analytics
The process guides emphasize that categorization is used to establish incident type/frequency trends, support problem management, and drive SLA/priority decisions
|
Keeping Incident intact with extra fields / detail tables: |
Extending Incident / splitting the data model: |
|
Consistent trend analysis
Team‑specific and global reporting both work
|
Broken “global” views
Harder problem management
|
-------------------------
Downstream Impacts: SLAs and Lifecycle Behavior
Incident SLAs and prioritization are tightly tied to impact, urgency, priority, and state on the Incident table
|
If you keep a single Incident lifecycle: |
If you use different lifecycles or SLAs on a child Incident table: |
|
Predictable SLAs and escalations
Simpler AI/automation for SLA risk prediction
|
Mixed processes under “Incident”
More SLA configuration to maintain Additional tables mean additional SLA definitions, schedules, and conditions to synchronize. |
------------------------------
Downstream Impacts: Integrations
Many integrations assume standard Incident APIs and table structure (inbound from monitoring, outbound to reporting/data lakes, bi‑directional with tools like Okta, CMDB‑driven flows, etc.)
|
If you keep Incident as the single integration surface and just add fields: |
If you extend Incident or introduce a non‑standard Incident table: |
|
Integrations continue to work with minimal change
New fields flow naturally into existing exports
|
Integration gaps
Higher regression risk Every schema or process change on Incident or its child table has to be tested against more integrations. |
--------------------------
Impacts on AI auto‑categorization, routing, reporting, SLAs, or integrations
Summary
Customizing within the Incident table (extra fields, UI policies, related detail tables) generally:
- Improves AI auto‑categorization and routing by giving models more consistent, high‑quality data.
- Keeps reporting, SLAs, and SOPs trustworthy, because “incident” still means one well‑defined process.
- Avoids surprises in integrations that expect the standard Incident schema.
Extending Incident into separate child tables or forking the data model purely for team‑specific categorization does the opposite: it fractures your AI training data, complicates routing, weakens global reporting, and increases integration and SLA complexity.

