ServiceNow HR Service Delivery: Building an Employee Readiness Center
ServiceNow HR Service Delivery: Building an Employee Readiness Center
Most HRSD implementations start the same way: configure HR cases, set up the service catalog, tune the intake forms. Done. But after go-live, HR teams realize they're still doing most of the heavy lifting manually — tracking which new hires have completed which tasks, chasing managers for approvals, and manually updating spreadsheets.
The Employee Readiness Center (ERC) fills that gap. It's a proactive layer on top of standard HRSD case management that gives HR teams visibility into employee readiness at every stage of the lifecycle.
What Is the Employee Readiness Center?
The ERC is a ServiceNow configuration layer — not a separate product, but a set of HRSD features wired together — that tracks readiness states for employees across defined milestones.
A readiness milestone might be:
- Pre-boarding: IT account created, equipment shipped, badging arranged
- Day 1: Workspace ready, buddy assigned, orientation scheduled
- 30-day check-in: Mandatory training complete, goals set
- 90-day performance review: Manager review submitted, development plan in place
Each milestone has a target date, an owner, and a status (Not Started, In Progress, At Risk, Complete). The ERC aggregates these into a single dashboard so HR can see which employees are on track and which need intervention.
Setting Up Readiness Tracks
Readiness tracks are built using HR Services linked to Lifecycle Events.
Go to Human Resources > Readiness > Configuration > Readiness Tracks. Each track defines a sequence of milestones for a specific scenario — for example, NEW_HIRE_ONBOARDING or ROLE_CHANGE.
Within each track, you define:
// Readiness Milestone record
var milestone = {
track: 'NEW_HIRE_ONBOARDING',
name: 'IT Account Provisioning',
sequence: 1,
task_template: 'IT - Account Setup',
due_offset_days: -3, // 3 days BEFORE start date
owner: 'IT Systems Team',
escalation_threshold_days: 1
};
The due_offset_days field is key — it lets you set milestones relative to an employee's start date. A negative offset means the task must complete before the start date. A positive offset means it's a follow-up after Day 1.
Automating Milestone Creation with Flow Designer
When an HR case transitions to OPEN, a Flow Designer action should automatically generate all milestones from the active Readiness Track. This removes the manual step of creating tasks for each new hire.
Trigger: HR Case record created where Category = "Onboarding"Action 1: Look up active Readiness Track for the employee's department
Action 2: For each milestone in the track, create a corresponding HR Task
Action 3: Set the HR Task due date relative to the employee's start_date field
Action 4: Notify the milestone owner
// Script Action: Generate Milestones
var grMilestone = new GlideRecord('hr_readiness_milestone');
grMilestone.addQuery('readiness_track', current.department.readiness_track);
grMilestone.addQuery('active', true);
grMilestone.orderBy('sequence');
grMilestone.query();
while (grMilestone.next()) {
var task = new GlideRecord('hr_task');
task.initialize();
task.short_description = grMilestone.name;
task.assignment_group = grMilestone.owner;
task.hr_case = current.sys_id;
task.due_date = gs.dateGenerate(
current.employee.start_date,
-grMilestone.due_offset_days
);
task.insert();
}
This pattern scales cleanly — as soon as HR creates an onboarding case, the entire readiness track materializes as actionable tasks.
Building the ERC Dashboard
The readiness dashboard lives in Service Portal (or Agent App) as a custom page. The core data model:
| Table | Purpose |
|---|---|
hr_readiness_track | Defines a milestone sequence |
hr_readiness_milestone | Individual milestone within a track |
hr_task | Per-employee task tracking milestone completion |
hr_case | The parent HR case (hire, transfer, role change) |
A simple UI Macro or Angular ng-table can surface this data:
<!-- readiness-dashboard.ng.html -->
<sn-table>
<table>
<thead>
<tr>
<th>Employee</th>
<th>Department</th>
<th>Start Date</th>
<th>Current Milestone</th>
<th>Status</th>
<th>Days to Start</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="emp in c.data.employees">
<td>{{emp.name}}</td>
<td>{{emp.department}}</td>
<td>{{emp.start_date}}</td>
<td>{{emp.current_milestone}}</td>
<td class="status-{{emp.status_class}}">{{emp.status}}</td>
<td>{{emp.days_to_start}}</td>
</tr>
</tbody>
</table>
</sn-table>
Status color coding helps HR triage at a glance:
- Green = At Risk threshold not breached
- Amber = Within 2 days of breach
- Red = Breach or past target date
Tracking Skill Gaps with Learning Integration
For roles that require certifications or skills (IT, Finance, Operations), link hr_readiness_milestone records to the Learning module. When a milestone is marked complete, ServiceNow can automatically check if the employee has the required learning completions — and surface gaps before Day 1.
// Check learning requirements before marking milestone complete
function checkLearningRequirements(employeeId, milestoneId) {
var requiredCourses = new GlideRecord('learning_course');
requiredCourses.addQuery('milestone', milestoneId);
requiredCourses.query();
var completed = 0;
var total = requiredCourses.getRowCount();
while (requiredCourses.next()) {
var completion = new GlideRecord('learning_completion');
completion.addQuery('course', requiredCourses.sys_id);
completion.addQuery('user', employeeId);
completion.query();
if (completion.next()) completed++;
}
return { completed: completed, total: total, ready: completed === total };
}
Connecting to the Manager Hub
For hiring managers, expose readiness status through the Manager Hub (available in Vancouver and later releases). Managers see their new hire's onboarding status without needing to contact HR directly.
This is configured via Workspace > Manager Hub > Onboarding and wired to the same hr_task and hr_readiness_milestone records. Managers can approve tasks, leave notes, and mark milestones reviewed — all audit-logged.
Key Configuration Checklist
Before go-live with an ERC:
- Define Readiness Tracks for each onboarding scenario
- Set milestone
due_offset_daysrelative to employeestart_date - Verify Flow Designer generates HR Tasks on case creation
- Build the ERC dashboard in Service Portal
- Wire amber/red thresholds for escalation notifications
- Test with 2-3 real employee records end-to-end
- Train HR team on triage workflow — not just case creation
- Enable Manager Hub access for people managers
Where to Start
If your HRSD implementation is running but no one's using the Readiness Center, the best move is to start with one track: a single department's new hire onboarding. Configure that one track end-to-end, run it for a month, then expand.
The hardest part isn't the configuration — it's getting HR to think of onboarding as a process with milestones rather than a case to open. That's a change management conversation, not a technical one. But once they see the dashboard light up, they'll wonder how they managed without it.
