BambooHR logoPlanday logo

Leave, absence and time

BambooHR to Planday integration: employees, time off and balances in scheduling, and open shifts after a departure

With an integration between BambooHR and Planday, employees from BambooHR are in the right Planday department and employee group, and approved time off and leave balances reach scheduling. KoppelHet updates a changed email address straight away and opens the later shifts in the schedule on a departure.

What the integration does

Organisations that keep personnel data in BambooHR and have their sites schedule in Planday run into balances missing from the Planday app, a new email address that does not come through, and shifts that stay attached to a former colleague after a departure.

  1. HR creates an employee in BambooHR or changes location, job title or work email.
  2. KoppelHet puts the employee in the right Planday department and employee group, and changes the username on a new address.
  3. Approved time off from BambooHR is submitted and approved in Planday; cancelled time off is withdrawn.
  4. Daily, KoppelHet books the difference between the balance in BambooHR and in Planday as an adjustment.
  5. On a departure KoppelHet deactivates the employee on the last day and opens their later shifts.
BambooHR → KoppelHet → PlandaySOURCEBambooHRTARGETPlandayKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → PlandaySOURCEBambooHRTARGETPlandayKoppelHetmapping · logging · monitoring
Out: Employee with name, work email and employee number · Department and employee group from location and job title · Approved and cancelled time off · Leave balance per accruing time off type · Termination date

What to watch for with BambooHR and Planday

  • BambooHR returns a balance per time off type per employee. KoppelHet books the difference daily on the Planday leave account with the BambooHR type in the reference, and skips types without accrual, because BambooHR returns those as zero.
  • A new email address in BambooHR must also become the username in Planday, otherwise duplicate profiles can appear. KoppelHet has the BambooHR webhook watch the work email field and changes the username in Planday straight away.
  • Without further instruction, shifts stay on the departed employee's profile after a deactivation. Planday can unassign shifts after the last day when deactivating. KoppelHet passes the termination date from BambooHR and has those shifts unassigned, so they appear as open shifts in the schedule.
  • Someone who gets another job title in BambooHR should not stay in their old group in Planday, with the labour cost that goes with it. KoppelHet replaces the group on a new job title in BambooHR.
  • BambooHR sends no webhook for time off. Every fifteen minutes KoppelHet requests the requests updated since the previous run, including cancelled ones. A cancelled request that was already in Planday is withdrawn there by KoppelHet, so the employee can be scheduled again.
  • KoppelHet submits an absence that began in a previous calendar year through Planday's absence API, so someone off across the year end is also shown as absent in the January schedule.
  • Required custom fields in Planday make the creation of an employee fail if they stay empty. KoppelHet fills those fields from BambooHR or with a fixed value per department, so they can stay required for people who enter employees in Planday itself.

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 the pay rate from BambooHR come along?

Not by default; labour cost in scheduling comes from the employee group. Pay rates can be added later as an extension.

Do worked hours go back to BambooHR?

No, hours go from Planday to payroll.

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 of a user who may see time off and termination date of all employees. Event-based webhooks employee.created, employee.updated (only on selected monitor fields, with changedFields) and employee.deleted. Time off through GET /api/v1/time_off/requests with updatedSince and status (approved, denied, superceded, requested, canceled); balances through Get Time Off Balance.
  • Planday through the Open API with OAuth 2.0. POST and PUT /hr/v1.0/employees (departments, employeeGroups, salaryIdentifier, custom fields), PUT /hr/v1.0/employees/{employeeId}/change_username, PUT /hr/v1.0/employees/deactivate/{employeeId} (date, keepShifts, terminationTypeId). Time off through /absence/v1.0/absencerequests (draft, submit, approve, cancel), balances through POST /absence/v1.0/accounts/{accountId}/adjustments with externalReference.

Which fields are transferred

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

Field in BambooHRField in PlandayNotes
employeeNumbersalaryIdentifierKoppelHet keeps the Planday ID itself
firstName, lastNamefirstName, lastName
workEmailuserName en emailOn a change through change_username
locationdepartments
jobTitleemployeeGroupsThe old group is removed on a new job title
Time off request (approved / canceled)Absence request, daarna approve of cancel
Time off balance (accruing)Adjustment op de verlofrekening met externalReference
terminationDatedeactivate met date en keepShifts false

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.