ServiceNow ITSM Setup
This guide walks through configuring the four core ITSM processes on a fresh ServiceNow instance. It assumes you have an ITSM Pro or Enterprise licence and admin access.
Estimated time: 8–16 hours for an experienced admin. Allow 3–5 days for stakeholder validation of each process.
Prerequisites
- ServiceNow instance (Tokyo, Utah, or Vancouver release)
- System Administrator role
- ITSM scope visible in Application Navigator
- Assignment groups and users imported from LDAP/AD
1. Assignment Groups
Before configuring any process, create your assignment groups. Everything in ServiceNow routes to groups, not individuals.
Navigator → User Administration → Groups → NewMinimum groups for ITSM go-live:
| Group | Purpose |
|---|---|
IT Service Desk | First-line incident & request handling |
IT Infrastructure | Server, network, storage incidents |
IT Applications | Application support incidents |
IT Security | Security incidents |
Change Advisory Board | Change approvals |
2. Incident Management
Configure categories and subcategories
Navigate to Incident → Administration → Categories. Create your category tree:
Hardware
├── Laptop / Desktop
├── Printer
└── Mobile Device
Software
├── Operating System
├── Business Application
└── Email / Collaboration
Network
├── Connectivity
├── VPN
└── Wi-FiSet up SLA definitions
Navigate to SLA → SLA Definitions → New.
Example: P1 Resolution SLA
- Name:
P1 - Resolution - 4h - Table:
Incident [incident] - Type:
Resolution - Duration:
4 hours - Conditions:
Priority is 1 - Critical - Schedule:
24x7
Configure assignment rules
Use Assignment Lookup Rules to auto-route based on category:
Navigator → Assignment → Lookup Rules → New
Table: Incident
Category: Hardware
Subcategory: Laptop / Desktop
→ Assign to: IT Service DeskSet up notifications
Navigate to System Notification → Email → Notifications. Key notifications to configure:
- Incident created → assignee + requester
- Incident assigned → new assignee
- SLA breach warning (75%) → assignment group manager
- Incident resolved → requester (with satisfaction survey link)
3. Service Request Management
Never mix Incidents and Service Requests in the same queue. They have fundamentally different SLAs, workflows, and fulfilment logic.
The Service Catalogue is the front-end. Request Management is the back-end workflow.
Create catalogue categories:
- Hardware Requests (new equipment, replacement)
- Software Requests (installation, licence)
- Access Requests (new access, modifications, revocation)
- Onboarding / Offboarding
Navigate to Service Catalogue → Maintain Categories → New
4. Change Enablement
Change Management is the highest-risk process to configure incorrectly. A poorly designed Change workflow will either block all changes (too restrictive) or rubber-stamp everything (too permissive).
Define change types
| Type | Description | Approval |
|---|---|---|
| Standard | Pre-approved, low risk, repeatable | None (auto-approved) |
| Normal | Planned, assessed, CAB review | CAB approval |
| Emergency | Urgent, risk-accepted | ECAB or senior approval |
Configure the CAB
Navigate to Change → Administration → CAB Definition → New.
- Name:
Weekly CAB - Schedule: Every Wednesday 14:00–15:00
- Members: Infrastructure Lead, App Lead, Security Lead, Service Delivery Manager
- Auto-include: Changes scheduled for the following 7 days
Set up risk assessment
Use the built-in Risk Calculator or configure a custom questionnaire. Risk score should drive the approval flow — high risk changes require CAB, low risk can self-approve.
5. Problem Management
Problem Management is often skipped or done manually. Automate the Incident-to-Problem link to make it sustainable.
Key configuration:
// Business Rule: Auto-create Problem from repeated Incidents
// Table: Incident
// When: After insert/update
// Condition: Category = [configured category] AND recurrence count > 3
var pm = new GlideRecord('problem');
pm.initialize();
pm.short_description = 'Recurring: ' + current.short_description;
pm.assignment_group = current.assignment_group;
pm.insert();
current.problem_id = pm.sys_id;
current.update();Need help with your ServiceNow implementation? → (opens in a new tab)