DyLeave, absence and time
BambooHR to Dyflexis integration: Dutch employees and contract hours from BambooHR in the schedule
With an integration between BambooHR and Dyflexis, employees of the Dutch locations in BambooHR appear in Dyflexis automatically, with office, contract type, hours per week and termination date. A departure or a different location in BambooHR then also reaches scheduling, so nobody is rostered on a contract HR has already changed.
What the integration does
Organisations with BambooHR as the HR system for all countries and Dyflexis as scheduling for the Dutch sites now enter new shift workers in Dyflexis by hand. A change of hours or a departure in BambooHR only reaches the planner if they happen to hear about it.
- HR records an employee in BambooHR at a Dutch location, with employment status and hours per week.
- BambooHR reports the change; KoppelHet fetches the employee and checks whether the location is in the lookup table.
- The employee goes to Dyflexis with the BambooHR ID as fixed reference, and a contract with office, contract type, hours and days.
- An administrator links the new employee once in Dyflexis; after that every delivery updates them.
- On departure the employee and contract in Dyflexis get the end date from BambooHR.
What to watch for with BambooHR and Dyflexis
- BambooHR stores standard hours per week as a whole number. A 22.5-hour contract does not fit, while Dyflexis accepts hours with decimals. If the organisation works with half hours, we record contract hours in a custom field in BambooHR and the integration reads that field.
- BambooHR has no field for working days per week, and Dyflexis asks for the average number of days with every contract. KoppelHet fills it from a table per contract type, or from a custom field if days differ per employee.
- The employment status in BambooHR, such as Full-Time, Part-Time or Contractor, plus custom values, becomes a Dyflexis contract type through a table. Contractors can be kept out of Dyflexis, or scheduled as their own contract type; scheduling decides that at the start.
- BambooHR often contains employees from all countries. Only employees at a location linked to a Dyflexis office in the table go through. A colleague at the US office thus does not end up in the Dutch schedule.
- BambooHR has no separate field for a Dutch name prefix, Dyflexis does. If "van den" is part of the last name, KoppelHet splits off the prefix, so scheduling sorts on surname the way that is usual in the Netherlands.
- In BambooHR the termination date can only be changed through the employment status table. KoppelHet reads that table and sets the last day as end date on the employee and contract in Dyflexis, so the planner cannot roster them after that day.
- BambooHR sends no direct notification for custom tables. If hours or working days sit in such a table, the integration picks them up in a scheduled round over changed table data.
- Dyflexis can store an hourly wage per contract. KoppelHet only sends it for employees paid hourly in BambooHR, and only if scheduling wants to see labour cost; otherwise salary stays out of the integration.
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
Do worked hours go back to BambooHR?
No. BambooHR does not run Dutch payroll. The hours from Dyflexis belong with the payroll of the Dutch entity; that integration can be added later as an extension.
What if a location is not in the table yet?
Then the employee does not go through and scheduling gets an alert. After the table is completed, the next round picks them up.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- BambooHR through the REST API with an API key that takes a user's permissions. Webhooks on changed fields (not for custom tables) and the endpoint for changed table data. Fields include employeeNumber, workEmail, hireDate, terminationDate (read-only, changed through the employmentStatus table), location, employmentStatus, standardHoursPerWeek (integer), jobTitle, payType, payRate and paidPer.
- To Dyflexis through POST /api2/external-employees/{employeeReference} (lastName required; also firstName, lastNamePrefix, email, personnelNumber, employmentStart, employmentEnd, jobDescription) and POST /api2/external-employees/{employeeReference}/contracts (contractReference, office, type, start, end, hours, days, salary per hour). Scope external_employees; Authorization Token header; on 429 retry with backoff. Offices through GET /api2/offices, contract types through GET /api2/contract-types.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BambooHR | Field in Dyflexis | Notes |
|---|---|---|
id (BambooHR-medewerker) | employeeReference | Fixed key in the URL of the delivery |
employeeNumber | personnelNumber | |
firstName, lastName | firstName, lastNamePrefix, lastName | Name prefix split off, see specifics |
workEmail | email | |
hireDate en terminationDate | employmentStart en employmentEnd | |
location | office (contract) | Through a table from BambooHR locations to Dyflexis offices |
employmentStatus | type (contract) | Through a table to the Dyflexis contract type |
standardHoursPerWeek of eigen veld | hours (contract) | |
Tabel per contracttype of eigen veld | days (contract) | |
jobTitle | jobDescription |
Related
Ashby → BambooHR
Ashby to BambooHR integration: hire, changed start date and employment status in BambooHR
BambooHR → 4PS Construct
BambooHR to 4PS Construct integration: employees from BambooHR in the 4PS company of their location
BambooHR → Active Directory
BambooHR to Active Directory integration: accounts in your own domain from HR
BambooHR → ADP iHCM
BambooHR to ADP iHCM integration: salary, bonuses and commissions to Dutch payroll