Dayforce logoHa

HR to ITSM

Dayforce to HaloITSM integration: users on the right site and tickets on hire and termination

With an integration between Dayforce and HaloITSM, every employee from Dayforce is a user in Halo, on the site of their work assignment, and a hire, transfer or departure in Dayforce creates a ticket of the right ticket type. Halo has no Dayforce integration; KoppelHet reads the Dayforce REST API and writes through the Halo REST API.

What the integration does

Organisations with Dayforce for HR, payroll and scheduling and HaloITSM as service desk often have employees at many locations. A new colleague at a location only reaches Halo once the account exists, and the location manager emails the service desk about laptop and badge themselves.

  1. KoppelHet asks Dayforce which employees changed in work assignment or employment status.
  2. For each employee KoppelHet fetches the work assignment and manager as they apply on the start date.
  3. KoppelHet finds the Halo user through the stored link with the XRefCode, or creates them on the site of the work assignment.
  4. An onboarding ticket goes to that site's team, with the manager in the text.
  5. A termination produces an offboarding ticket; after the last day KoppelHet sets the user to inactive.
Dayforce → KoppelHet → HaloITSMSOURCEDayforceTARGETHaloITSMHaloITSMKoppelHetmapping · logging · monitoringDayforce → KoppelHet → HaloITSMSOURCEDayforceTARGETHaloITSMHaloITSMKoppelHetmapping · logging · monitoring
Out: User with name, work email and job title · Site per Dayforce location · Ticket for onboarding, extra work assignment and offboarding · Set to inactive after departure

What to watch for with Dayforce and HaloITSM

  • KoppelHet reads the Dayforce REST API with a user that only has read rights, and writes users and tickets through the Halo REST API with its own API application.
  • Halo always creates a new user on a call without a Halo id. KoppelHet therefore stores the Halo user id per Dayforce XRefCode, so a name change or new work email in Dayforce updates the same user.
  • Dayforce stores work assignments with start and end dates, and Halo calculates with the site's time zone. KoppelHet requests the work assignment with the start date as reference date and puts the user on the site where they actually start, so the ticket's deadline falls in the local working day.
  • An extra work assignment at a second location is a new work assignment in Dayforce, not a new employee. The user stays in Halo on the site of their primary work assignment, and the second location's team gets a ticket for badge and access there.
  • Dayforce can filter changed employees by entity, but only with a start and end date included. KoppelHet only requests changes in work assignment and employment status, so a new bank account number in Dayforce causes no calls to Halo.
  • Halo allows 700 calls per tenant in five minutes, and the list from Dayforce only gives XRefCodes, so each employee needs a separate request. KoppelHet therefore spreads the first load and the nightly comparison over the night.
  • A Halo user has no manager field in the API. The manager from Dayforce is therefore in the text of the onboarding and offboarding ticket, so the service desk knows who receives the laptop.

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

We already import users from Entra ID. Does that clash?

Not if we agree per field which source leads. Dayforce supplies site, job title and dates; Entra ID often only the account.

Do existing employees get a ticket at go-live?

No. The first load only sets up users and sites; tickets follow from new events.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Dayforce through the REST API at /api/{clientName}/v1/Employees with FilterUpdatedStartDate, FilterUpdatedEndDate and filterUpdatedEntities (WorkAssignments, EmploymentStatuses), FilterHireStartDate and FilterTerminationStartDate; then Employees/{XRefCode} with expand and ContextDate. Fields only with field access in the API user's role.
  • Halo through the REST API with an API application (client credentials, token valid for one hour). POST /Users and POST /Tickets add or update; without an id a new record is created. Tickets with tickettype_id, user_id, site_id, summary and details. Leavers set to inactive, never DELETE. Limit of 700 calls per tenant per 300 seconds.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in DayforceField in HaloITSMNotes
XRefCodeKoppeltabel met Halo-idWithout an id Halo always creates a new user
FirstName, LastNamename
Werkadres uit Contactsemailaddress
Job uit de primaire work assignmentFunctie op de gebruiker
Location uit de primaire work assignmentsite_id
EmployeeManagersTekst in het ticket
Aanname- en beëindigingsdatumTicket met tickettype_id

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.