Bullhorn logoWorkday logo

Recruitment to HR

Bullhorn to Workday integration: a consultant's first placement as a hire in Workday

With an integration between Bullhorn and Workday, the first placement of a candidate who joins your payroll automatically becomes a pre-hire and hire in Workday, with the start date of paid employment and the salary with its unit. Contractors from Bullhorn become a contingent worker or stay out of Workday, and later placements of the same person do not start a new hire.

What the integration does

Organisations that place consultants or seconded staff through Bullhorn and manage their own workforce in Workday enter the person in Workday by hand after every first placement. With a following assignment HR has to check whether someone is already an employee, and contractors do not belong in Workday as employees.

  1. The recruiter creates a Placement in Bullhorn for candidate and assignment.
  2. KoppelHet reads the placement from the event queue and looks at the employee type.
  3. If the candidate is not yet in Workday, KoppelHet creates a pre-hire and starts the hire or the contract.
  4. If the candidate is already in Workday, a notice goes to HR instead of a second hire.
  5. Workday runs its own approvals; a rejection is shown with the reason in the KoppelHet platform.
Bullhorn → KoppelHet → WorkdaySOURCEBullhornTARGETWorkdayKoppelHetmapping · logging · monitoringBullhorn → KoppelHet → WorkdaySOURCEBullhornTARGETWorkdayKoppelHetmapping · logging · monitoring
Out: Placement with employee type and start dates · Candidate with name, date of birth and contact details · Salary with unit (per year or per hour) · Pre-hire in Workday · Hire or contract as a contingent worker

What to watch for with Bullhorn and Workday

  • Bullhorn creates a new Placement for every assignment. Only a candidate's first placement leads to a hire in Workday; with later placements KoppelHet recognises the person by the Bullhorn candidate number in Workday and starts nothing new.
  • The employee type is stored per placement in Bullhorn, with values such as Employee or Contractor. Per value we record whether Workday starts a hire, a contingent worker contract or nothing. That way freelancers do not end up as employees in Workday.
  • A Placement has a start date for the work and a separate date on which paid employment begins, meant for payroll integrations. KoppelHet uses that second date as the hire date in Workday and only falls back to the work start date when the field is empty.
  • The salary on a Placement is per year or per hour, and a separate field says which. In Workday a different compensation plan belongs to each. KoppelHet chooses the plan based on that unit and stops with a notice when the unit is missing.
  • The cost centre field on a Placement is the client's cost centre and decides how Bullhorn groups invoices. It is not a cost centre of your own organisation. KoppelHet therefore does not copy it to Workday; your own cost centre follows from the position.
  • Candidate and job of a Placement cannot be changed after creation. If a placement is attached to the wrong candidate, the recruiter creates a new one; KoppelHet tells HR that the earlier hire in Workday must be rescinded.
  • Bullhorn keeps events in a queue that the integration empties itself, and a previously retrieved batch can be requested again. If KoppelHet is briefly unavailable, placements are not lost but are processed on restart.

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

Does Bullhorn have its own Workday integration?

We did not find one in Bullhorn's public documentation; only general automation platforms offer templates. KoppelHet builds on the APIs of both systems.

What happens with a second assignment for the same consultant?

Then no new hire starts. If HR wants to see the assignment in Workday, that can be added later as an extension.

Does the BSN come from Bullhorn?

No. Bullhorn's SSN field is for the US number. HR or payroll adds the BSN.

Technical details for IT

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

  • Bullhorn through the REST API after OAuth 2.0 and a REST login that returns a BhRestToken and its own base URL. An event subscription (type entity, names Placement, eventTypes INSERTED and UPDATED) fills a queue that KoppelHet reads with GET event/subscription and maxEvents; with requestId a batch can be fetched again. Then GET entity/Placement (employmentStartDate, dateBegin, dateEnd, employeeType, salary, salaryUnit, candidate) and entity/Candidate (firstName, middleName, lastName, dateOfBirth).
  • Workday through the Staffing web service with an Integration System User. Put_Applicant creates or updates the pre-hire, Hire_Employee hires the pre-hire into a position, headcount or job, and Contract_Contingent_Worker contracts the pre-hire as a contingent worker.

Which fields are transferred

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

Field in BullhornField in WorkdayNotes
Candidate.id en Placement.idExternal_Integration_ID_DataRecognises a later placement of the same candidate
Candidate.firstName, middleName en lastNameLegal_Name_DatanamePrefix is a title such as Dr., not a Dutch name prefix
Candidate.dateOfBirthBirth_Date
Candidate.email en mobileEmail_Address_Data en Phone_Data (privé)
Placement.employmentStartDate (anders dateBegin)Hire_Date
Placement.employeeTypeHire_Employee of Contract_Contingent_WorkerThrough a table per type
Placement.salary en salaryUnitCompensatieplan per jaar of per uur
Placement.dateEndEinddatum tijdelijk contractEmpty for a permanent placement

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.