Identity and access management
Dayforce to JumpCloud integration: JumpCloud's HR import fed from Dayforce
With an integration between Dayforce and JumpCloud, every employee from Dayforce arrives in JumpCloud as a user, with job title, department, location and manager, staged until the start date and suspended after leaving. JumpCloud's HR import cannot read Dayforce directly, because the Dayforce list call only returns codes; KoppelHet therefore provides a complete list that JumpCloud fetches itself.
What the integration does
Organisations that use Dayforce for HR and payroll and JumpCloud for accounts, devices and SSO often try to connect JumpCloud's Custom API import to Dayforce. That does not work, and IT is left doing it by hand from a list out of Dayforce.
- In Dayforce KoppelHet gets an API user with a role that may read exactly the fields for JumpCloud.
- KoppelHet keeps the current data per employee and offers it on its own address with a key for JumpCloud.
- In JumpCloud we point the Custom API import at that address, with the mapping and a state rule on the dates.
- After a trial run with the preview we switch on the scheduled import and let JumpCloud email a summary to support.
- KoppelHet writes the JumpCloud username back as the SSO account in Dayforce.
What to watch for with Dayforce and JumpCloud
- JumpCloud requires an HR system's list endpoint to return the full user schema; an API that only returns IDs cannot be connected. The Dayforce list call returns exactly that, only XRefCodes. KoppelHet completes those codes into full records, so JumpCloud can read one list.
- Dayforce provides the details per employee at no more than one hundred requests per minute, shared with all of the customer's other integrations. If JumpCloud requested every employee on each import, a large population would use the full limit every hour. KoppelHet only requests changed employees and keeps the rest.
- A hire is often entered weeks ahead in Dayforce. KoppelHet passes the start date, and a state rule using JumpCloud's date functions keeps the user staged until that day. A staged user has no access to apps yet, but IT can already assign a laptop.
- JumpCloud leaves the manager field empty if the manager does not exist as a user yet, and only fills it on a later update. If a manager and their team start in the same week, KoppelHet puts the manager first in the list and marks the team, so it gets the right manager on the next import.
- According to Dayforce the list call applies no extra access control, so codes from companies outside the scope come along too. KoppelHet limits the list for JumpCloud to the organisational units that belong in this JumpCloud environment.
- Dayforce can store an account for single sign-on per employee. If employees sign in to Dayforce through JumpCloud, KoppelHet puts the JumpCloud username there, so a new colleague can also open their payslip on day one.
- Dayforce only returns a field if the API user's role has the right to it, without an error. An empty department would make a group rule fail silently in JumpCloud. KoppelHet keeps an employee without department or location out of the list and reports it to HR.
This integration is also part of joiner, mover, leaver.
How we build and run it
- The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
- Every sync and every error is visible in the functional log; on an error your administrator is notified.
- A change that cannot go through is not half-applied but queued for another attempt.
- KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
- After go-live we manage the integration and adjust it when your process changes.
- The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.
Implementation and price
This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.
A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.
Frequently asked questions
Why does JumpCloud not read Dayforce directly?
JumpCloud's import needs a list of complete users, and Dayforce only returns codes in the list. The details per employee are also limited to one hundred per minute.
Is a leaver deleted from JumpCloud?
No, the state rule suspends the user after the end date. Deleting remains IT's choice.
Which JumpCloud package is needed?
That depends on your JumpCloud contract; check that the HR import is included before we start.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Dayforce RESTful Web Services: GET /V1/Employees (XRefCodes only, with filterUpdatedStartDate, filterUpdatedEndDate, filterHireStartDate, filterTerminationStartDate and orgUnitXRefCode), then per XRefCode the details with expand for WorkAssignments, EmploymentStatuses, EmployeeWorkAssignmentManagers, Contacts and SSOAccounts, with contextDate. Rate limiter 10 per second or 100 per minute per customer.
- JumpCloud Custom API import (HR Directories) on the KoppelHet address: Bearer Token or API Key, JSON only, offset pagination with limit and offset, total through a JSON path; required mapping Company email and Username; State through manageUserState with today() and dateAfter(); scheduled import off by default, then hourly, daily or a custom schedule with time zone.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Dayforce | Field in JumpCloud | Notes |
|---|---|---|
XRefCode | Unique ID en employeeIdentifier | |
FirstName, LastName | firstname, lastname | |
Contacts (zakelijk e-mailadres) of naamgevingsregel | Company email en Username | |
WorkAssignments (primair): Job | jobTitle | |
WorkAssignments (primair): Department | department | |
WorkAssignments (primair): Location | location | |
EmployeeWorkAssignmentManagers (primair) | manager | |
HireDate en TerminationDate | State via manageUserState (STAGED, ACTIVATED, SUSPENDED) |
Related
Ashby → Dayforce
Ashby to Dayforce integration: have Dayforce validate the hire first, then save it
Bullhorn → Dayforce
Bullhorn to Dayforce integration: first placement of an employee as an employee in Dayforce
Carerix → Dayforce
Carerix to Dayforce integration: successful placement as a validated new employee in Dayforce
Dayforce → 4PS Construct
Dayforce to 4PS Construct integration: technicians and site managers from Dayforce in 4PS, with cost centre and end date