Human Resources Service Delivery — Complete Study Guide with real-world practical examples, configurations, and best practices.
ServiceNow Human Resources Service Delivery (HRSD) is a module that digitizes and automates HR processes — from onboarding to offboarding — giving employees a consumer-grade self-service experience and giving HR teams a streamlined case management system.
ServiceNow was founded in 2003. Over time, it evolved from pure IT service management (ITSM) into a comprehensive enterprise platform covering HR, legal, finance, and customer workflows.
HRSD sits alongside ITSM, CSM, and FSMD on the Now Platform.
Employees raise HR requests 24/7 without calling HR directly.
Lifecycle events automate multi-step HR processes end-to-end.
Built-in dashboards give HR leadership real-time visibility.
| Plugin Name | Purpose | Required? |
|---|---|---|
| HR Core | Main HRSD module — cases, services, profiles | Core |
| Employee Center Core | Self-service portal for employees | Core |
| Employee Center Pro | Advanced portal — campaigns, communities | Optional |
| HR Agent Workspace | Modern workspace UI for HR agents | Optional |
| AI Taxonomy | AI-powered case categorisation | Optional |
| Now Intelligence for HR | Predictive routing and auto-resolution | Optional |
At Acme Corp, employees emailed HR@acme.com for everything — payslips, address changes, leave, onboarding. There was no tracking, SLAs were missed, and HR was overwhelmed. After implementing HRSD, employees self-serve through the Employee Center, cases are auto-routed to the right COE, SLAs are enforced, and HR managers have real-time dashboards. Resolution time dropped 40%.
When the HRSD plugin is installed, a set of out-of-the-box roles is automatically created. Every action in HRSD — viewing cases, creating configs, managing services — is controlled by these roles.
| Role Name | Role ID | Who Gets It? | Capabilities |
|---|---|---|---|
| HR Admin | sn_hr_core.admin | HRSD Administrators | Full access — configure, create, manage everything in HRSD |
| HR Manager | sn_hr_core.manager | HR Department Managers | View all cases in their COE, assign agents, run reports |
| HR Case Writer | sn_hr_core.case_writer | HR Agents / HR Business Partners | Create and update HR cases; cannot configure services |
| HR Case Reader | sn_hr_core.case_reader | HR Read-Only users | View HR cases only — no create/edit |
| HR Basic | sn_hr_core.basic | All employees (end users) | Access Employee Center, raise requests, view own cases |
| HR Developer | sn_hr_core.developer | ServiceNow Developers | Configure forms, scripts, workflows — no business access |
| HR COE Manager | sn_hr_core.coe_manager | COE leads | Manage cases within a specific Center of Excellence |
In ServiceNow HRSD:
Scenario: John is an HR Business Partner at Acme Corp who handles Payroll queries.
sn_hr_core.case_writer → he can create and update HR cases.sn_hr_core.admin → he cannot change SLA definitions or service configurations.Higher roles inherit the permissions of lower roles. An HR Admin can do everything a Case Writer or Basic user can do.
sn_hr_core → select the appropriate role.One of the most commonly confused concepts in HRSD is the difference between a User Profile and an HR Profile.
| Attribute | User Profile (sys_user) | HR Profile (sn_hr_core_profile) |
|---|---|---|
| Table | sys_user | sn_hr_core_profile |
| Purpose | System login, authentication, ITSM access | HR-specific employee data — confidential |
| Contains | Username, email, department, manager | Employment type, hire date, salary band, HR document attachments |
| Visibility | Accessible to all with user admin role | Restricted — only HR roles can view |
| Created by | IT/System Admin during onboarding | Auto-created OR manually created by HR Admin |
| Linked | — | References sys_user via User field |
The HR Profile stores confidential employment data that should not be visible in the standard sys_user table. It also acts as a centralised data source when HR cases are created — the case automatically pulls employee information from the HR Profile.
Sarah is a software engineer at Acme Corp. She has:
When Sarah raises an "Address Change" HR case, the system auto-populates the case with her HR Profile data — not just her sys_user record — ensuring HR sees all relevant employment details.
Full name, date of birth, preferred name, gender identity, emergency contact.
Employment type (FT/PT/Contractor), hire date, work location, cost centre.
Attachments — signed contracts, ID documents, policy acknowledgements.
Private HR notes visible only to HR roles — e.g., PIPs, investigations.
By default, when a new user is created in ServiceNow (via LDAP sync or manual creation), HRSD can be configured to automatically create an HR Profile for that user using a Business Rule. This is especially useful in organisations with large-scale LDAP imports.
sys_user.An HR Case is the core record in HRSD. It tracks an employee's request or issue from creation to resolution. Every HR service interaction generates an HR case.
| Case Type | Table | Used For | Example |
|---|---|---|---|
| General Case | sn_hr_core_case | Standard employee requests | Address change, name change, payslip request |
| COE Case | sn_hr_core_case_[coe] | COE-specific extended cases | sn_hr_core_case_payroll, sn_hr_core_case_benefit |
| Child Case | sn_hr_core_case | Sub-case of a parent (for complex services) | Onboarding parent → IT setup child, Badge child, Payroll setup child |
| Field | Description | Real-World Use |
|---|---|---|
| Subject Person | The employee the case is about | Manager raising a case on behalf of a new hire |
| Opened For | Who opened the case (could differ from subject) | HR Business Partner opening case for employee |
| HR Service | The service this case fulfils | "Parental Leave", "Onboarding", "Address Change" |
| COE | Center of Excellence handling the case | Benefits COE, Payroll COE, Talent COE |
| Assignment Group | Team responsible for resolution | Benefits Team - North America |
| State | Draft, Ready, Work in Progress, Closed Complete, Closed Incomplete | Drives SLA clock and notifications |
| Priority | 1-Critical to 4-Low | Determined by SLA definition or HR Admin |
| Confidential | Hides case from subject person's manager | Performance, harassment, medical cases |
Or: Work in Progress → Closed Incomplete (if unresolvable) / Closed Cancelled (if employee withdraws).
HR Agent opens HR Cases → New and fills in the form directly on the platform.
Employee browses the Employee Center, selects a service, fills a Record Producer form — case auto-created.
Employee emails hr@company.com — inbound action creates an HR case automatically.
HR Admin creates multiple cases simultaneously — e.g., onboarding 50 new hires at once.
A Center of Excellence (COE) is a logical grouping of HR services, teams, and cases around a specific HR functional area. Think of it as an "HR Department within the HR Department."
Large organisations have many HR functions. A COE ensures that a payroll query goes to the Payroll team, a benefits question goes to the Benefits team, and a talent question goes to Recruiting — all automatically, without manual routing.
Payslip requests, tax queries, salary corrections, overtime disputes.
Health insurance, dental, 401K enrolment, open enrolment changes.
Promotions, performance reviews, career development, internal transfers.
New hire setup — IT access, badge, orientation, equipment.
Resignation acceptance, exit interviews, equipment return, final pay.
Policy violations, investigations, legal compliance, document management.
sn_hr_core_case_payroll) or use the General case table.| COE | HR Services Under It | Assignment Group | SLA |
|---|---|---|---|
| Benefits COE | Dental Enrolment, Health Plan Change, 401K | Benefits Team - NA | 3 business days |
| Payroll COE | Payslip Request, Tax Form, Correction | Payroll Team Global | 1 business day |
| Onboarding COE | New Hire Onboarding (Lifecycle Event) | Onboarding Specialists | 5 business days |
HR Case Configuration controls how the HR Case form looks and behaves when an agent creates a case. This is where you define what fields appear, what tabs exist, and how the case form is structured.
| Config Area | Purpose | Navigate To |
|---|---|---|
| Case Creation Configuration | Configures the HR Case form globally for all services | HR Administration → Case Creation Configuration |
| Case Creation Configuration for HR Service | Configures the form for a specific HR service — overrides global config | HR Administration → HR Services → [Service] → Case Creation Config |
Controls what employee data is pre-populated on the case when an agent selects the Subject Person. You can add or remove fields pulled from the HR Profile.
employment_type and hire_date from the HR Profile to the Employee Information section so agents don't have to look it up manually.
Controls the main case form fields — what the agent fills in when creating the case. You can add custom fields, reorder sections, and set mandatory fields.
Within each tab, you can create multiple sections to organise fields logically:
A Service Level Agreement (SLA) is a commitment to resolve or respond to an HR case within a defined time period. HRSD uses the same SLA engine as ITSM.
| Type | Between | HR Example |
|---|---|---|
| Service Level Agreement (SLA) | HR Department ↔ Employee (customer) | HR commits to resolving payslip requests within 1 business day |
| Operational Level Agreement (OLA) | HR Team ↔ Another Internal Team | IT team commits to provision laptop within 2 days of receiving Onboarding task |
| Underpinning Contract (UC) | HR ↔ External Vendor | Background check vendor commits to results within 5 business days |
Time from case creation until first response by HR agent. Clock starts when case state = Ready.
Time from case creation until case is Closed Complete. This is the main SLA measured.
sn_hr_core_case or a COE-specific table.| HR Service | Response SLA | Resolution SLA | Schedule |
|---|---|---|---|
| Payslip Request | 2 hours | 8 hours (1 business day) | 8am–5pm Mon–Fri |
| Address Change | 4 hours | 2 business days | 8am–5pm Mon–Fri |
| Onboarding | Same day | 5 business days | 8am–6pm Mon–Fri |
| Benefits Enrolment | 1 business day | 3 business days | 8am–5pm Mon–Fri |
| Harassment Complaint | 2 hours | 10 business days | 24/7 |
An HR Service is the specific offering that defines the request-to-fulfilment process for a particular type of HR request. Every HR case is associated with exactly one HR Service.
| Field | Description | Example |
|---|---|---|
| Name | The name of the service shown to employees | "Parental Leave Request" |
| COE | Which Center of Excellence owns this service | Benefits COE |
| HR Case Table | The table where cases for this service are stored | sn_hr_core_case_benefit |
| Fulfillment Type | HOW the case gets fulfilled (see below) | Lifecycle Event |
| Assignment Group | Default group to handle cases of this service | Benefits Team – EMEA |
| SLA | Which SLA applies to cases of this service | Benefits – 3 Day Resolution |
| Availability | Who can see/use this service (all employees or specific groups) | Controlled via HR Criteria |
| Fulfillment Type | When to Use | How It Works | Example |
|---|---|---|---|
| Manual | Simple requests where HR manually resolves | Case created, assigned to agent, agent resolves manually, closes case | Payslip request, Name change |
| Service Activity | Multiple tasks need to be completed in sequence | Case auto-creates HR Tasks; agents complete each task | Address Change: verify identity → update HR system → update payroll → confirm |
| Lifecycle Event | Complex, multi-department, multi-step processes | Case triggers a Lifecycle Event that creates child cases across multiple COEs | Onboarding: IT setup + Badge + Payroll setup + Orientation |
| Workflow | Complex routing with conditions and approvals (legacy) | Attaches a ServiceNow Workflow to the case | Promotion Approval (manager → director → HR sign-off) |
| Flow Designer | Modern automation with approvals and integrations | Attaches a Flow Designer flow to the case | Same as workflow but built in modern Flow Designer |
sn_hr_core_case_benefit.HR Lifecycle Events are the most powerful HRSD feature. They automate complex, multi-step, multi-department HR processes — like onboarding a new hire or processing a transfer — by automatically creating a parent case and multiple child cases across different COEs.
It is a framework designed to automate and manage complex HR processes that span multiple tasks, departments, and even external systems. When an HR Lifecycle Event is triggered, it orchestrates everything automatically.
When a new hire (Sarah) joins Acme Corp, the Onboarding Lifecycle Event triggers and automatically creates:
All child cases run in parallel or sequentially (configurable). HR has full visibility of all tasks from the parent case.
| Component | Description | Example |
|---|---|---|
| Lifecycle Event | The top-level definition of the event — name, trigger criteria | "Employee Onboarding", "Employee Offboarding", "Leave of Absence" |
| Lifecycle Event Activity | Each individual task/step within the lifecycle event | "Provision Laptop", "Create Email Account", "Enrol in Benefits" |
| Activity Type | What kind of activity: HR Task, Child Case, Notification, or Approval | HR Task for simple to-do; Child Case for complex sub-process |
| Sequence/Order | When the activity fires relative to other activities | Badge creation runs at Order 100; IT setup at Order 100 (parallel); Payroll at Order 200 (after IT) |
| HR Criteria | Conditions determining which activities apply to which employees | Only show "Visa Sponsorship" activity for international hires |
sn_hr_core_case_lifecycle_event).sn_hr_core_case_lifecycle_event — NOT the general case table. If you select the wrong table, the Lifecycle Event will not fire correctly.
For a Parental Leave lifecycle event at Acme Corp, the activities are:
HR Templates allow you to automatically populate fields on a case or HR Task form. When a case is created using a particular HR Service, the template can pre-fill fields — saving agents time and ensuring consistency.
HR Templates can be configured for:
Priority = 3-Moderate, Assignment Group = Payroll Team, Short Description = "Employee Address Update Request". Now every Address Change case is created with these values pre-filled — agents only need to add the actual new address.
HR Criteria defines the audience for HR content — who can see, access, or have created an HR case or service. It's the access control mechanism for HR Services in the Employee Center.
| Criteria Field | Options | Example |
|---|---|---|
| Employment Type | Full-Time, Part-Time, Contractor, Intern | Show "401K Enrolment" only to Full-Time employees |
| Department | Any department in sys_department | Show "Engineering Training" only to Engineering dept |
| Location | Countries, states, cities, buildings | Show "US Benefits" only to US-based employees |
| Company | For multi-company orgs | Show "Acme Gym Membership" only to Acme Corp employees, not subsidiaries |
| User Group | Any ServiceNow group | Show "Executive Concierge Service" only to members of "Executive" group |
| Specific Users | Individual user records | Allow only CHRO to access "Compensation Bands" service |
An HR Record Producer is a Service Catalog item that, when submitted by an employee through the Employee Center (portal), creates an HR case. It is the self-service form that employees fill out to raise HR requests.
| Aspect | Record Producer | Regular Catalog Item |
|---|---|---|
| Produces | A record in ANY table (e.g., HR Case) | A RITM (Request Item) in sc_req_item |
| Used in HRSD | ✅ Primary self-service mechanism | ❌ Not typically used in HRSD |
| Employee Experience | Employee fills form → HR Case created | Employee fills form → Shopping cart → Order |
| Table | sn_hr_core_case or COE-specific table | sc_req_item |
Fields the employee fills in on the form. Each question maps to a field in the HR Case table.
Reusable groups of questions (e.g., "Address Fields") that can be shared across multiple Record Producers.
Script that runs when form is submitted — sets HR Case fields, assigns HR Service, populates data.
Controls which employees can see this Record Producer in the Employee Center.
sn_hr_core_case. Category: HR Services.// Producer Script
current.hr_service = '<sys_id of Address Change HR Service>';
current.short_description = 'Address Change Request';
current.u_new_street = producer.new_street;
current.u_city = producer.city;
current.u_effective_date = producer.effective_date;
Employee goes to Employee Center → HR Services → "Request Parental Leave". The Record Producer form shows:
On submit → HR Case created under Benefits COE, Lifecycle Event fires, child cases created across Benefits and Payroll COEs.
When an HR Service uses the Service Activity fulfillment type, it automatically generates HR Tasks — sequential or parallel steps that agents must complete to resolve the case.
HRSD supports collecting digital signatures from employees or managers as part of case fulfilment. This is commonly used in Lifecycle Events (e.g., signing a leave agreement, receiving a separation document).
For the "Leave of Absence" Lifecycle Event at Acme Corp:
The Transfer Case feature allows an HR agent to move an existing HR case to a different COE or HR Service when the initial routing was incorrect, or the case scope has changed.
| Transfer Type | Description | When to Use |
|---|---|---|
| Reclassify | Changes the HR Service and COE — the case stays as a single case but is re-routed | Employee raised "General Query" but it's actually a "Payroll Correction" — reclassify to Payroll COE |
| Standard Transfer | Moves the case to a different assignment group within the same or different COE | Benefits Team – APAC needs to hand off to Benefits Team – EMEA after employee relocates |
The Transfer Case button in the UI is controlled by a UI Action and a Script Include. The glide modal popup is configured via UI Builder or script. You can control which fields appear in the transfer dialog (e.g., new COE, reason for transfer, new assignment group).
Employee Alice submitted a case under "General HR Query" asking about her maternity leave entitlements. The General HR team reviews it and determines it needs Payroll + Benefits involvement.
Bulk Case Creation allows HR Admins to create multiple HR cases simultaneously for multiple employees — extremely useful for mass HR events like onboarding a new cohort or annual benefits open enrolment.
The Employee Center Pro (ECP) is the modern self-service portal for employees — replacing the older HR Service Portal. It goes beyond service delivery to include employee communications, engagement tools, content publishing, and communities.
| Feature | Employee Center (Basic) | Employee Center Pro |
|---|---|---|
| HR Service Catalog | ✅ | ✅ |
| Case Tracking | ✅ | ✅ |
| Knowledge Articles | ✅ | ✅ |
| Content Campaigns | ❌ | ✅ |
| Employee Communities | ❌ | ✅ |
| Personalised Home Page | Basic | ✅ Fully personalised |
| Multi-department Services | HR only | IT, Legal, Finance, HR — all in one |
| Mega Menu Navigation | ❌ | ✅ |
| Advanced Analytics | ❌ | ✅ |
The Browse Experience is the main navigation structure of the ECP. It controls how services, knowledge, and content are organised and displayed to employees.
The Mega Menu provides a rich, multi-column navigation dropdown when employees hover over a category — similar to modern e-commerce sites. Configured in ECP Portal Administration → Mega Menu.
HR can publish announcements, news, and targeted content campaigns to specific employee segments. Example: Publish "Open Enrolment Reminder" to all US employees during October.
Peer-to-peer discussion forums within the ECP. Example: "New Hire Community" where recent joiners share tips and ask questions of each other.
ECP includes built-in HR dashboards accessible to HR managers. Key metrics:
Notifications in HRSD are automated messages (email, SMS, push) sent to employees, managers, or HR agents when HR case states change or specific events occur.
| Event | Recipient | Content |
|---|---|---|
| HR Case Created | Employee (Subject Person) | "Your case HRCASE0001234 has been created. Expected resolution: 2 business days." |
| HR Case Assigned | Assigned Agent | "You have been assigned HR Case HRCASE0001234 — Address Change for Sarah Jones." |
| HR Case Resolved | Employee | "Your request has been completed. Please rate your experience." |
| SLA Breach Warning (75%) | HR Manager | "Case HRCASE0001234 is approaching SLA breach. Current time: 6 hours, SLA limit: 8 hours." |
| E-Signature Required | Employee / Manager | "Please review and sign the attached document by [date]." |
| Case Pending — Awaiting Employee | Employee | "Your case is on hold. We need additional information from you." |
opened_for (the employee who raised it) or assigned_to (the agent).${number}, ${short_description}, ${opened_for.name} for personalisation.Subject: Your HR Request Has Been Received – ${number}
Hi ${opened_for.first_name},
Thank you for contacting HR. Your request has been received and a case has been created.
Case Number: ${number}
Request Type: ${hr_service.name}
Submitted: ${opened_at}
Expected Resolution: ${expected_resolution_date}
You can track your case status at: ${portal_url}
Best regards,
Acme HR Team
Inbound Email Actions (also called Inbound Actions) automatically process emails sent to a ServiceNow monitored email address (e.g., hr@acme.com) and create or update HR cases.
// Create HR Case from inbound email
var hrCase = new GlideRecord('sn_hr_core_case');
hrCase.initialize();
hrCase.short_description = email.subject;
hrCase.description = email.body_text;
hrCase.hr_service = '<sys_id of General Query service>';
hrCase.opened_for = email.origsys_id; // match email to user
hrCase.insert();
| Concept | Table / Location | Navigate To |
|---|---|---|
| HR Cases | sn_hr_core_case | HR Case Management → HR Cases |
| HR Profile | sn_hr_core_profile | HR Administration → HR Profiles |
| HR Services | sn_hr_core_service | HR Administration → HR Services |
| COE | sn_hr_core_coe | HR Administration → Centers of Excellence |
| Lifecycle Events | sn_hr_core_lifecycle_event | HR Administration → Lifecycle Events |
| HR Criteria | sn_hr_core_criteria | HR Administration → HR Criteria |
| HR Templates | sn_hr_core_template | HR Administration → HR Templates |
| Record Producers | sc_cat_item_producer | Service Catalog → Record Producers |
| SLA Definitions | contract_sla | SLA → SLA Definitions |
| Notifications | sysevent_email_action | System Notification → Email → Notifications |
| Inbound Actions | sys_script_email | System Policy → Email → Inbound Actions |
| Employee Center Pro | Portal config | Employee Center Pro → Administration |
| Role | Can Configure? | Can Create Cases? | Can View All Cases? |
|---|---|---|---|
| sn_hr_core.admin | ✅ Yes | ✅ Yes | ✅ Yes |
| sn_hr_core.manager | ⚠️ Limited | ✅ Yes | ✅ COE only |
| sn_hr_core.case_writer | ❌ No | ✅ Yes | ⚠️ Assigned only |
| sn_hr_core.case_reader | ❌ No | ❌ No | ✅ Read only |
| sn_hr_core.basic | ❌ No | Via portal only | Own cases only |