

Recruitment to HR
Bullhorn to YouForce integration: a placement becomes a hire request
With an integration between Bullhorn and Visma Raet YouForce, a new placement in Bullhorn starts a hire request in YouForce, with start date, contract hours, job and organisational unit. If the consultant has been employed before, it becomes a new contract for the existing person in YouForce.
What the integration does
Organisations that place consultants through Bullhorn and employ them in YouForce fill in the hire again after every placement. Consultants who return after a break then sometimes appear twice in YouForce.
- The recruiter creates the placement in Bullhorn with start date, hours and employee type.
- KoppelHet reads the placement and searches YouForce for whether the person is already known.
- For a new person a hire request starts; for a known person a new contract.
- KoppelHet follows the workflow in YouForce until it is completed or rejected.
- HR picks scale and step in YouForce and completes the request.
What to watch for with Bullhorn and Visma Raet YouForce
- YouForce does not let a recruitment system create an employee directly, but it does let it start a hire request in the self-service workflow. The placement from Bullhorn becomes such a request and HR keeps grading in its own hands.
- At an agency the same consultant often gets several placements. KoppelHet therefore first searches YouForce on last name at birth and date of birth, and on a match creates a new contract for that person instead of a second person.
- A request in YouForce requires contract type, job, organisational unit and contract hours. Bullhorn supplies these as end date, position code, cost centre and hours per day on the placement; KoppelHet translates them and stops with a notification if a translation is missing.
- Bullhorn records hours on a placement per day, YouForce wants contract hours. KoppelHet converts using the number of working days that belongs to the employee type.
- YouForce processes a request later. According to YouForce a completed request only means it was submitted; KoppelHet follows the workflow until the final status is known and reports a rejected request to the recruiter.
- Bullhorn has a field on the placement for the start of paid employment, separate from the assignment start. KoppelHet uses it as the hire date, so an induction week before the assignment also counts in YouForce.
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
Does Bullhorn have an integration with YouForce?
We found none from Bullhorn or Visma. KoppelHet uses the entry point Visma provides for recruitment systems.
Is the consultant in YouForce straight away?
As a request yes. As an employee only after HR has completed the request.
What happens when an assignment is extended?
In the first version nothing. YouForce can change a running contract through the integration; that can be added later as an extension.
What do we need to allow in YouForce?
That the integration may start requests and read jobs and organisational units. Your administrator arranges this in the Visma developer portal.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Bullhorn is read through the REST API (OAuth 2.0, REST login with BhRestToken). A subscription on entity Placement with eventTypes INSERTED; GET /event/subscription with maxEvents, and GET entity/Placement (employmentStartDate, dateBegin, dateEnd, hoursPerDay, positionCode, costCenter, employeeType) and entity/Candidate (lastName, dateOfBirth).
- To YouForce through the Youforce Recruitment API (OAuth 2.0). GET persons/search (lastNameAtBirth, birthDate); POST hires (mandatory candidateID and in employmentDetails payrollClientCode, payrollInstitutionCode, hireDate, employeeType, contractType, organizationUnit, jobProfile, amountOfHours) or POST persons/{personId}/contracts for a rehire. Status through GET hires/{id}/status until hrssWorkflowStatus.data.isActive is false; endStatus OK or NOK. Scopes Get_Basic and HSS_startWorkflow.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Bullhorn | Field in Visma Raet YouForce | Notes |
|---|---|---|
Placement.id | candidateID | Mandatory in the request; every request can be traced back to one placement |
Candidate.lastName en dateOfBirth | Zoeken naar een bestaande persoon | With last name at birth and date of birth |
Placement.employmentStartDate of dateBegin | hireDate | |
Placement.hoursPerDay | amountOfHours | Converted to hours per week |
Placement.dateEnd | contractType | Empty means open-ended |
Placement.positionCode | jobProfile | Through a lookup to the jobs in YouForce |
Placement.costCenter | organizationUnit | Through a lookup table |
Placement.employeeType | employeeType |
Related
Bullhorn → AFAS Profit
Bullhorn to AFAS integration: a consultant's first placement starts onboarding
Bullhorn → BambooHR
Bullhorn to BambooHR integration: first placement as an employee with a status row in BambooHR
Bullhorn → Dayforce
Bullhorn to Dayforce integration: first placement of an employee as an employee in Dayforce
Bullhorn → Deel
Bullhorn to Deel integration: first placement as a direct employee with a contract in Deel