Waypoint

Know exactly where every new hire stands before day one becomes a problem.

Waypoint tracks new hire onboarding completion across Dayforce in real time โ€” so HR teams always know who's on track, who's falling behind, and what needs to happen before day one becomes a problem.

Overview

Onboarding Command Center

New Hire Onboarding Visibility for Dayforce

Built on the Dayforce REST API with a React web frontend. Surfaces new hire onboarding task status, completion progress, and overdue flags across all entities and sites in a single operations view. Supports multi-entity and multi-FOC org structures. Requires an active Dayforce license with HR and Onboarding modules enabled.

Overview

Onboarding Command Center โ€” Solution Overview

The Onboarding Command Center is a standalone web application built directly on the Dayforce REST API. It pulls new hire records, onboarding task assignments, and task completion status from Dayforce in real time, surfaces them in a unified HR operations view, and gives HR teams the ability to nudge employees and escalate blockers โ€” all without leaving the app.

No spreadsheets. No manual status chasing. No cross-referencing Dayforce screens to piece together where each hire stands.

The application is built on a lightweight React frontend authenticated against Dayforce via OAuth 2.0. All data originates from Dayforce โ€” the app writes nothing back except nudge and escalation log entries, which are posted to a lightweight backend and stored in a companion data store for audit purposes. There is no separate ETL, no middleware, and no third-party sync layer. Every page load pulls live from the API.

The app is designed for HR business partners and people operations teams at multi-entity Dayforce customers โ€” organizations where new hires span multiple FOCs, cost centers, and site locations, and where onboarding completion is currently tracked in a mix of Dayforce screens, email threads, and spreadsheets.

How It Works

When an HR user loads the Onboarding Command Center, the application authenticates against Dayforce via the stored OAuth token, fetches new hire records for the configured lookback window (default: hires with a start date within the last 90 days), and resolves each hire's onboarding task list and completion status. The resulting dataset is rendered as a prioritized work queue โ€” sorted by risk status, days since start, and overdue task count.

Data flows in one direction for reads:

Dayforce API โ†’ OAuth Token Exchange โ†’ React Frontend โ†’ Prioritized Work Queue

For nudge and escalation actions, the flow extends:

HR User Action โ†’ App Backend โ†’ Dayforce API (notification trigger) + Audit Log

Risk status is calculated client-side on each load using a rule set applied to each hire's task completion relative to their days-since-start. No separate analytics engine. No scheduled jobs for flagging โ€” the status is always current because it is always derived from live API data.

Integration Architecture

The end-to-end pipeline follows a single pattern:

Dayforce OAuth โ†’ REST API โ†’ React Data Layer โ†’ Component State โ†’ Rendered Work Queue

Four Dayforce API domains are consumed:

Domain

Dayforce API Area

Data Retrieved

New Hires

Employee Management

Employee records filtered by hire date, status, entity

Onboarding Tasks

Onboarding

Task definitions, assignments, due dates, completion status

Org Hierarchy

HR Configuration

Entities, departments, cost centers, reporting structure

User Profiles

Employee Management

Manager assignments, contact details for nudge routing

Authentication uses OAuth 2.0 with a dedicated Dayforce service account scoped to read-only HR and Onboarding API access, plus write access to the notification endpoint for nudge delivery. The token is stored server-side and exchanged at session initiation โ€” never exposed to the browser.

All API calls are routed through a thin Node.js backend that handles token management, rate limiting, and response caching. Onboarding task data is cached for five minutes per hire to reduce API call volume on high-headcount pages. The cache is invalidated on any nudge or escalation action for that hire.

Row-level access control mirrors the HR user's Dayforce entity permissions. The app reads the authenticated user's entity scope from Dayforce at login and filters all hire and task queries accordingly. An HR BP scoped to West Region sees only West Region hires. A system admin sees the full org.

Data Model

The app does not maintain a persistent data store for Dayforce-sourced data โ€” all HR and task records are fetched live. The companion backend stores only action log records.

Hire_View โ€” Derived Client-Side Record

Assembled per hire on each API fetch. Not persisted. Drives all UI rendering.

Field

Type

Source

Employee_XRefCode

Text

Dayforce Employee API

Display_Name

Text

Dayforce Employee API

Job_Title

Text

Dayforce Employee API

Department

Text

Dayforce Org Hierarchy

Entity_XRefCode

Text

Dayforce Org Hierarchy

Manager_XRefCode

Text

Dayforce Employee API

Start_Date

Date

Dayforce Employee API

Days_Since_Start

Integer

Calculated: today minus Start_Date

Task_Total

Integer

COUNT of assigned onboarding tasks

Task_Complete

Integer

COUNT of tasks with completion status

Task_Overdue

Integer

COUNT of tasks past due date and incomplete

Completion_Pct

Decimal

Task_Complete / Task_Total

Risk_Status

Text

Calculated: Overdue, At Risk, On Track โ€” see rule set below

Task_View โ€” Per-Task Record

One record per onboarding task per hire. Assembled from Dayforce Onboarding API response.

Field

Type

Source

Task_ID

Text

Dayforce Onboarding API

Employee_XRefCode

Text

Dayforce Onboarding API

Task_Name

Text

Dayforce Onboarding API

Due_Date

Date

Dayforce Onboarding API

Completed_Date

Date

Dayforce Onboarding API โ€” null if incomplete

Status

Text

Derived: Done, Pending, Overdue

Days_Overdue

Integer

Calculated: today minus Due_Date if incomplete and past due

Owner_Type

Text

Employee, Manager, HR โ€” indicates who is responsible

Action_Log โ€” Persisted Backend Record

Written on every nudge or escalation action. Stored in the app's companion Postgres instance.

Field

Type

Notes

Log_ID

UUID

Auto-generated

Employee_XRefCode

Text

Target hire

Action_Type

Text

Nudge_Employee, Nudge_Manager, Escalate_HR, Flag_Blocked

Initiated_By

Text

HR user XRefCode

Task_ID

Text

Task that triggered the action โ€” null for full-hire escalations

Timestamp

DateTime

UTC

Note

Text

Optional free-text note entered by HR user

Delivery_Status

Text

Sent, Failed, Pending

Risk Status Rule Set

Risk status is derived client-side on each load. Rules applied in priority order โ€” first match wins.

Status

Rule

Overdue

Any task is past its due date and incomplete, AND hire is more than 3 days past start date

At Risk

No overdue tasks, but completion percentage is below threshold for days-since-start bracket (see below)

On Track

Completion percentage meets or exceeds bracket threshold and no overdue tasks

Completion Threshold Brackets

Days Since Start

Expected Completion %

0โ€“3

0% (grace window โ€” no flagging)

4โ€“7

โ‰ฅ 20%

8โ€“14

โ‰ฅ 40%

15โ€“21

โ‰ฅ 65%

22โ€“30

โ‰ฅ 80%

31+

100%

Brackets are configurable at deployment time via an admin settings screen. Customers with longer or shorter onboarding cycles adjust thresholds to match their standard.

Application Views

Work Queue (Default View)

The primary screen. All active onboarders rendered as a prioritized card list โ€” Overdue at top, then At Risk, then On Track, within each group sorted by days since start descending. Each card shows: name, title, department, entity, manager, start date, days-since-start badge, risk status badge, task completion bar, per-task status breakdown, and action buttons. Filters by entity, department, manager, and risk status. Full-text search across name, department, manager, and entity.

Hire Detail View

Single hire drill-through. Full task list with due dates, days-overdue callouts, owner type per task, and complete action log history for that hire. HR can nudge, escalate, or flag as blocked from this view with an optional note.

Entity Summary View

Aggregate view by entity or FOC. Headcount in each risk tier, average completion percentage, overdue task count, and most common blocked tasks across the entity. Designed for HR leads managing multi-site operations.

Admin / Configuration View

Manage completion threshold brackets, configure notification routing (which Dayforce user receives nudge emails per entity), set the active lookback window, and view API health status including last successful sync timestamp and any rate limit events.

Action Types

Four actions available from the work queue and hire detail view.

Action

Behavior

Nudge employee

Triggers a notification to the hire via Dayforce's notification endpoint listing their incomplete tasks and due dates. Logged to Action_Log.

Nudge manager

Triggers a notification to the hire's manager with a summary of incomplete tasks. Logged to Action_Log.

Escalate to HR

Flags the hire for HR review and optionally routes a summary to a configurable HR inbox. Updates risk display with an escalation indicator. Logged to Action_Log.

Flag as blocked

Marks the hire as externally blocked โ€” removes from overdue flagging logic temporarily and notes the block reason. Logged to Action_Log. Used when a task is delayed due to a third-party dependency (e.g. background check vendor delay).

Deployment Architecture

Three-component deployment. All components are containerized and deployable to any cloud environment.

Component

Stack

Purpose

React Frontend

React, hosted on Vercel or Azure Static Web Apps

UI rendering, client-side risk calculation, filter and search logic

Node.js Backend

Express, deployed to Azure App Service or equivalent

OAuth token management, Dayforce API proxy, cache layer, Action_Log writes

Postgres Instance

Azure Database for PostgreSQL or equivalent

Action_Log persistence only โ€” no HR data stored

The backend never persists Dayforce employee or task data. It proxies, caches briefly, and passes through. All PII remains in Dayforce as the system of record.

Deployment Sequence

Three-phase deployment to stand up the full stack.

Phase

Deliverable

Detail

1

Dayforce API setup

Service account created in Dayforce, OAuth 2.0 client registered, API scopes granted for Employee, Onboarding, and Org Hierarchy read; Notification write enabled

2

Backend deploy

Node.js API deployed, environment variables set (Dayforce client ID/secret, Postgres connection string), token exchange validated, caching layer confirmed

3

Frontend deploy

React app deployed, entity scope filtering validated against test HR accounts, completion threshold brackets configured for client, action routing tested end-to-end

Requirements

Requirement

Minimum

Dayforce

Active license with HR and Onboarding modules enabled

Dayforce API Access

OAuth 2.0 client registration; Employee, Onboarding, Org Hierarchy read scopes; Notification write scope

Frontend Hosting

Vercel, Azure Static Web Apps, or equivalent

Backend Hosting

Azure App Service, AWS App Runner, or equivalent Node.js host

Database

Postgres โ€” minimal footprint, action log only

Browser Support

Chrome, Edge, Firefox โ€” modern evergreen versions

Multi-Entity

Requires Dayforce org hierarchy export and entity-scoped HR user accounts

More solutions