Dayforce logoJumpCloud logo

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.

  1. In Dayforce KoppelHet gets an API user with a role that may read exactly the fields for JumpCloud.
  2. KoppelHet keeps the current data per employee and offers it on its own address with a key for JumpCloud.
  3. In JumpCloud we point the Custom API import at that address, with the mapping and a state rule on the dates.
  4. After a trial run with the preview we switch on the scheduled import and let JumpCloud email a summary to support.
  5. KoppelHet writes the JumpCloud username back as the SSO account in Dayforce.
Dayforce → KoppelHet → JumpCloudSOURCEDayforceTARGETJumpCloudKoppelHetmapping · logging · monitoringDayforce → KoppelHet → JumpCloudSOURCEDayforceTARGETJumpCloudKoppelHetmapping · logging · monitoring
Out: User with the XRefCode as employeeIdentifier · Job title, department, location and company · Manager of the primary work assignment · State staged, activated or suspended

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, architecture and compliance

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.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

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 DayforceField in JumpCloudNotes
XRefCodeUnique ID en employeeIdentifier
FirstName, LastNamefirstname, lastname
Contacts (zakelijk e-mailadres) of naamgevingsregelCompany email en Username
WorkAssignments (primair): JobjobTitle
WorkAssignments (primair): Departmentdepartment
WorkAssignments (primair): Locationlocation
EmployeeWorkAssignmentManagers (primair)manager
HireDate en TerminationDateState via manageUserState (STAGED, ACTIVATED, SUSPENDED)

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.