
Leave, absence and time
HiBob to Protime integration: employees and working pattern from Bob in Protime, approved absence back as time off
With an integration between HiBob and Protime, every employee at the Dutch and Belgian sites in Bob appears in Protime automatically, with contract hours and full-time norm from the working pattern, department and site on the effective date from Bob. Absence approved in Protime goes back to Bob as an approved time off request, so the balance and calendar in Bob are correct without a second approval.
What the integration does
Organisations that manage HR in HiBob and clock in Protime at their Dutch or Belgian sites enter new employees in Protime by hand. Leave the manager approves in Protime is not in Bob, so the leave balance and absence calendar in Bob are wrong.
- HR creates an employee in Bob at a site using Protime, or changes their working pattern or department.
- KoppelHet fetches the employee and the current entry from the employment history.
- Protime receives the person, a contract based on weekly hours and FTE, and department and site in the history on the effective date from Bob.
- The employee requests leave in Protime and the team leader approves it there.
- KoppelHet enters the approved absence in Bob as an already approved time off request, on the matching policy type.
Back: Approved absence as a time off request, with half days
What to watch for with HiBob and Protime
- In the employment history Bob stores weekly hours and an FTE percentage, both calculated from the working pattern. Protime asks for the contract hours and the hours of a full-time week on a contract. KoppelHet derives the full-time norm from weekly hours and FTE, so the same part-time factor is in both systems.
- Absence can only be read in the Protime API, but Bob accepts time off requests through its API. Leave is therefore requested in Protime, at the clock, and Bob receives the result. The balance in Bob is thus correct without anyone entering leave in two places.
- Bob lets an administrator skip approval when creating a time off request. KoppelHet uses that, because the team leader has already approved in Protime. For this the service user in Bob needs admin rights on time off, which we agree separately at the start.
- For a half day Protime indicates whether it is the first or second part. For the first day of a request Bob only knows all day or afternoon, and for the last day all day or morning. A free afternoon therefore becomes a request in Bob that starts in the afternoon on that day.
- A change in Bob's work history can have a future effective date. Protime keeps department and location as history with a start date. KoppelHet puts a transfer into Protime straight away with that date, so the planner already sees the employee on the new department ahead of time.
- Bob often also contains colleagues in countries or offices without Protime. KoppelHet only sends employees of the sites using Protime, and checks at the start that the service user in Bob may read the fields of those sites, because missing permissions drop fields without an error.
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
Can employees keep requesting leave in Bob?
Not if it must also be in Protime, because Protime does not accept absence through the API. We therefore choose one place for requests; when clocking happens in Protime, that is usually Protime.
Do clocked hours go to Bob?
No. The hours go from Protime to local payroll. Bob only receives the absence.
What if an absence code from Protime has no policy type in Bob?
Then the request is not created and a notice appears in the platform. HR links a policy type or confirms the code does not need to be in Bob.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- HiBob through the REST API with a service user. Employees through people search and employee webhooks; weekly hours, FTE and effectiveDate from the employment table (GET /people/{id}/employment). Absence back with POST /timeoff/employees/{id}/requests (policyType, startDate, startDatePortion all_day or afternoon, endDate, endDatePortion all_day or morning, skipManagerApproval).
- Protime through the Protime API (v1) with OAuth 2.0 client credentials. POST people with externalReferenceIdentifier, POST contracts (contractHoursInMinutes, fullTimeEquivalentInMinutes) and PUT on the history for department and work-location. Absence is read through webhooks on absences (dayPart, approvalLevel Approved); absences have no write scope.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in HiBob | Field in Protime | Notes |
|---|---|---|
Personeelsnummer (Bob) | employeeNumber en externalReferenceIdentifier | Fixed key in both directions |
firstName en surname | firstName, lastName | |
Startdatum en einddatum dienstverband | inServiceDate en outOfServiceDate | |
weeklyHours (employment) | contractHoursInMinutes | From the actual working pattern |
weeklyHours en fte (employment) | fullTimeEquivalentInMinutes | Weekly hours divided by the FTE percentage |
work.department | department-history | |
work.site | work-location-history | Also the filter: only sites using Protime |
Afwezigheidscode en dayPart (Protime, terug) | policyType, startDatePortion en endDatePortion | Through a table per absence code |
Related
Ashby → HiBob
Ashby to HiBob integration: a hire from Ashby straight in as an employee in Bob
Bullhorn → HiBob
Bullhorn to HiBob integration: an approved placement as a new employee in Bob
Carerix → HiBob
Carerix to HiBob integration: successful match becomes a new employee in Bob
Greenhouse → HiBob
Greenhouse to HiBob integration: from a hire in Greenhouse to a new employee in Bob