Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.serval.com/llms.txt

Use this file to discover all available pages before exploring further.

About Dayforce

Dayforce (formerly Ceridian Dayforce) is a human capital management (HCM) platform that unifies HR, payroll, benefits, workforce management, and talent into a single system of record. Connect it to Serval to automate employee lifecycle, time-tracking, and payroll-adjacent workflows.
The Dayforce integration is in beta. The surface is currently focused on Dayforce’s V1 REST API. SOAP web services are not exposed.

What the Dayforce integration enables

CapabilityDescription
Workflow AutomationBuild Serval workflows on top of any resource in the Dayforce RESTful Web Services Developer Guide using HTTP Basic authentication.
Out of the box, Serval ships type-aware request shapes for the most commonly-used Dayforce V1 resources:
  • EmployeesGET /V1/Employees, GET /V1/Employees/{xrefCode}, PATCH /V1/Employees/{xrefCode}
  • TimeGET /V1/EmployeePunches, GET /V1/EmployeeRawPunches, GET /V1/EmployeeTimeAwayFromWork
  • Org structureGET /V1/Departments, GET /V1/Jobs, GET /V1/Locations
  • PayrollGET /V1/PayGroups
Any other V1 endpoint documented in the Dayforce developer guide is also callable via the Serval Dayforce API request action — the typed shapes above just give you tab-completion and validation for the most popular ones.

Key Features

  • Read and update employee records by XRefCode
  • Sync time-clock punches (raw + processed) into your downstream systems
  • Pull time-off (TAFW) records by approval state
  • Cross-reference departments, jobs, locations, and pay groups

Common Use Cases

  • Employee lifecycle automation (joiner / mover / leaver)
  • Time-and-attendance reconciliation
  • Payroll-period change notifications
  • Cross-system employee data sync (Dayforce → ITSM / IDP / finance)

Dayforce configuration (in Dayforce)

Prerequisites

Before configuring the Dayforce integration in Serval, ensure you have:
  • Administrator access to your Dayforce tenant
  • Permission to create or edit Roles and Users
  • The server host for your Dayforce environment (production or sandbox)
  • Your client namespace — the path segment that follows /Api/ in your Dayforce REST URLs

Understanding the Dayforce REST URL

Dayforce REST endpoints have the form:
https://{server}/Api/{clientNamespace}/V1/{resource}
  • {server} is your Dayforce host — for example www.dayforcehcm.com for the universal production host, or an environment-specific host like usconfigr57.dayforcehcm.com (config), ustest61.dayforcehcm.com (test), or us252-services.dayforcehcm.com (a specific production pod).
  • {clientNamespace} is the client identifier assigned to your tenant by Dayforce. It is not an arbitrary string — it must match the path segment Dayforce uses for your tenant.
Dayforce publishes a universal URL (e.g. https://dayforcehcm.com/api/{clientNamespace}/swagger/index.html) that automatically redirects to your environment-specific URL. Always configure Serval with the final, resolved host — not the universal one — so requests don’t have to traverse the redirect on every call.

Authentication

The Serval integration authenticates to Dayforce using HTTP Basic authentication against a dedicated web-services user. This is the standard, long-supported authentication scheme for the Dayforce REST API.
Dayforce also supports an OAuth-style access-token flow (POST to the Dayforce Identity Service to exchange Web Services credentials for a bearer token). Serval does not currently use it — Basic authentication is the documented, broadly-supported scheme and is what Microsoft’s first-party Dayforce HCM connector uses as well.

Step 1: Create a web-services user

1

Open the Users feature

  1. Sign in to Dayforce as an administrator
  2. Open PeopleProfilesUsers, or search for Users
  3. Click Add to create a new user
2

Fill in the user details

  1. Pick a descriptive username (e.g. serval-integration) and a strong password
  2. Set this account as a service / non-interactive user — it does not need to be tied to a real employee
  3. Save the user
Treat the password like a production secret. If your tenant enforces a password-expiration policy on regular users, ensure this web-services user is exempt — otherwise the integration will silently break when the password rotates.

Step 2: Create a Role for the web-services user

The Dayforce REST API is permissioned through role-based Features. Create a role whose features cover the endpoints you intend to call.
1

Create the role

  1. Search for Roles and open the feature
  2. Click Add and name the role (e.g. Serval Integration Role)
  3. Open the Features tab for the role
2

Enable Web Services and the endpoints you need

Under Features, expand HCM Anywhere → Web Services, then enable Read Data (required for any API access). Then enable the sub-features matching the endpoints you plan to call.
Feature pathEnables
HCM Anywhere → Web Services → Read DataRequired for all REST API access
HCM Anywhere → Web Services → Employee (with XRefCode enabled)GET /V1/Employees, GET /V1/Employees/{xrefCode}
HCM Anywhere → Web Services → RESTful Services → Configuration → DepartmentsGET /V1/Departments
HCM Anywhere → Web Services → RESTful Services → Configuration → Pay GroupsGET /V1/PayGroups
Feature pathEnables
HCM Anywhere → Web Services → Employee → Write Data (and any sub-entities you intend to update)PATCH /V1/Employees/{xrefCode}
Always test writes against a sandbox or config environment first. Dayforce PATCH requests apply directly to the live HR record.
Only enable the features you actually need. Dayforce role features are additive and persist forever, so it is much easier to grant access incrementally than to revoke it after the fact.
3

Assign the role to the web-services user

  1. Open the user you created in Step 1
  2. Add the new role under Authorizations / Roles
  3. Save

Serval configuration

Once you have the web-services user, role, and your Dayforce host + client namespace, configure the integration in Serval:
1

Navigate to the Dayforce integration

  1. In Serval, go to Applications → Available → Dayforce
  2. Click Connect
  3. The Dayforce configuration form will appear
2

Enter configuration details

Fill in the following fields:
FieldDescriptionExample
ServerYour Dayforce host, without the https:// prefix. Use the resolved environment-specific host whenever possible.www.dayforcehcm.com or ustest61.dayforcehcm.com
Client NamespaceThe client identifier assigned by Dayforce — the path segment immediately after /Api/.MyCompany
Web Services UsernameThe web-services user from Dayforce Step 1.serval-integration
Web Services PasswordThe password for that user.••••••••••••
The form validates that Server ends in .dayforce.com or .dayforcehcm.com. If you paste a URL with https://, a trailing slash, or a /Api/... suffix, strip it down to just the hostname.
3

Submit the configuration

  1. Click Submit
  2. Serval composes the API base URL https://{Server}/Api/{ClientNamespace} and stores the credentials as a Basic-auth header
  3. The four built-in health checks will run automatically:
    • <001> Test Dayforce Connection — confirms credentials are valid by listing one employee
    • <002> List Dayforce Employees — confirms the role can read employee records
    • <003> List Dayforce Departments — confirms read access to org units
    • <004> List Dayforce Pay Groups — confirms read access to payroll configuration
If a check fails, the error message identifies which Dayforce feature is missing from your role.

Using Dayforce in workflows

Once connected, you can use Dayforce in your Serval workflows via the Dayforce API request action. The action is fully typed against the Dayforce V1 REST API, so request and response shapes are tab-completed and validated at build time.

Endpoint reference (typed)

PathMethodNotes
/V1/EmployeesGETPaginated. Supports filters on hire / termination / updated dates, employee number, XRefCode, employment status, org unit, plus expand for sub-entities. Follow Paging.Next for additional pages.
/V1/Employees/{xrefCode}GETSingle employee by XRefCode. Supports contextDate and expand.
/V1/Employees/{xrefCode}PATCHUpdate an employee. Use isValidateOnly=true to dry-run.
/V1/EmployeePunchesGETProcessed punches grouped into shifts. Requires either a filterTransactionStartTimeUTC + filterTransactionEndTimeUTC window or businessDate. Optional org-unit / position / job / department / docket / project / pay-adjustment XRefCode filters.
/V1/EmployeeRawPunchesGETUnprocessed punches. Requires filterTransactionStartTimeUTC + filterTransactionEndTimeUTC. Optional employeeXRefCode, employeeBadge, punchState, punchTypes.
/V1/EmployeeTimeAwayFromWorkGETAll four parameters are required: employeeXRefCode, filterTAFWStartDate, filterTAFWEndDate, and status (one of APPROVED, PENDING, CANCELED, DENIED, CANCELPENDING).
/V1/Departments, /V1/Jobs, /V1/LocationsGETOrg-structure metadata.
/V1/PayGroupsGETPayroll configuration metadata.
For endpoints not in this list, the Dayforce API request action will still accept any /V1/... path — the typed shape simply falls back to an open object. Refer to the Dayforce RESTful Web Services Developer Guide for the full surface.

Pagination

Dayforce paginates list endpoints with a Paging.Next cursor — an absolute URL to the next page of results. To iterate through all pages, loop until Paging.Next is absent. pageSize is supported on many list endpoints but is not a guaranteed parameter on every one of them.

Authentication on every call

Serval injects Authorization: Basic base64(username:password) automatically. You do not need to pass credentials in workflow steps.
Need help? Contact support@serval.com for assistance with your Dayforce integration.