Skip to main content

BambooHR integration - Setup guide with Planday

Sync employee data from BambooHR to Planday automatically using the BambooHR integration.

Written by Kyle

🔓 Access level in Planday: Administrator or HR Manager with access to all departments in Planday.

🌐 Subscription plan: Plus, Pro.

⏱️ Set up time: 10 min.

⏱️Reading time: 5 min.


Overview of the BambooHR integration

The BambooHR integration syncs your employee data from BambooHR to Planday. Data flows one way only — from BambooHR to Planday and BambooHR is the single source of truth. Changes made directly in Planday to synced fields will be overwritten on the next sync. Planday checks for changes in BambooHR automatically every 3 hours.

Key functionalities of the BambooHR integration:

  • Syncs new employees

  • Updates employee profiles

  • Creates employee Groups

  • Creates or maps departments

  • Deactivates terminated employees

  • Imports approved leave


Step 1: Configure permissions in BambooHR

The integration connects using the permissions of the BambooHR user who authenticates during setup. That user's Access Level in BambooHR must be configured to grant the minimum read permissions the integration requires.

Note: We recommend using an admin account set to access all employees rather than direct reports only. If the connecting account is limited to direct reports, the integration cannot access deactivation information and will be unable to automatically deactivate terminated employees in Planday.

To configure permissions:

  1. In BambooHR, click the cog icon in the top-right corner.

  2. In the Settings sidebar, click Access Levels.

  3. Select the Access Level assigned to the connecting user, or create a new one and assign the user to it. When creating a new level, select Custom Access Level.

  4. Click Access Level Settings and edit the permissions to match what the Kombo connection flow requests during setup.

  5. Where the connection flow specifies View only, set the permission to View Only. Where it requests view and edit access, set it to Edit.

A more detailed guide on the prerequisites in BambooHR can be found here: Integration between Planday and BambooHR


Step 2: Complete the setup in Planday

You can connect an HR integration from any of these pages in Planday:

  • Planday-Web > Settings > Integrations > Overview > BambooHR > Set up

  • Planday-Web > People > Employees > Create employees > Connect with HR system

  1. When prompted, enter your BambooHR subdomain (the part before .bamboohr.com).

  2. Click Sign in with BambooHR. A pop-up window will open — enter the email address and password of the BambooHR user account whose Access Level you configured in Step 1.

  3. Configure Filter: Select any filters to apply to manage which employees are imported from BambooHR to Planday.

  4. Review and confirm: Review the data to be synced and confirm.

Once confirmed, Planday will run an initial sync. Depending on the size of your employee directory, this may take a few minutes.


Step 3: Onboarding wizard: flexible entity mapping

After connecting and filtering, a guided wizard walks you through how your BambooHR data maps into Planday. This gives you direct control over your data structure rather than relying on automatic-only mapping.

Wizard step 1 — Configure entity mapping

  • Choose how each BambooHR entity type maps to Planday:

BambooHR entity

Can map to

Departments

Planday Departments, Planday Employee Groups, or skip

Teams

Planday Departments, Planday Employee Groups, or skip

Work locations

Planday Departments, or skip

Positions / job titles

Planday Employee Groups, or skip

Note: If all entity mappings are skipped, the integration will create one default department and one default employee group called BambooHR automatically.


Wizard step 2 — Map departments

  • Review which BambooHR entities will create or update departments in Planday. Confirm or adjust the assignments before continuing.


Wizard step 3 — Map employee groups

  • Review which BambooHR entities will be used to assign employees to groups in Planday. Confirm or adjust the assignments.


Wizard step 4 — Configure absence and employee settings

  • Select which absence policies from BambooHR to sync to Planday.

  • Choose whether an open shift should be created when an absence is imported on a day where the employee already has a scheduled shift.

  • Choose whether new employees added through the integration should automatically receive an invite email to Planday.


Wizard step 5 — Review and confirm

  • Review all your configuration choices. Once you confirm, the integration status moves to pending and the first full sync begins. The integration is marked as complete once the initial sync finishes.


Data mapping between BambooHR and Planday

Standard fields are mapped automatically. The table below shows the default field-to-field mapping.

BambooHR fields that Planday map

BambooHR Field

Planday

First name (legal)

First Name

Last name (legal)

Surname

Email

Email (username)

Date of birth

Birthday

Hire date

Hire date

Termination Date

Termination date

Profile Picture

Profile Picture

Department

User choice

Team

User choice

Position

User choice

Address

Address

City

City

Postcode

Postcode

Employee ID (internal)

Salary ID

Note: Mapping of custom fields is not supported in this integration. Salary will only sync if the currency in BambooHR exactly matches the currency in your Planday portal — the integration does not convert between currencies.

1) Mapping Logic — Job title history

BambooHR stores the full history of all job titles an employee has held, each with an effective date but no end date or active flag. The integration reads this history and syncs only the most recent job title as the employee's group in Planday.

This means:

  • An employee who has been promoted will only be assigned the group matching their current job title.

  • If an employee holds more than one role at the same time, BambooHR's job title history cannot represent this — only the most recent title syncs. Additional concurrent employee groups must be added manually in Planday.

  • Periodically review employee groups in Planday to ensure they reflect actual scheduling needs, especially after promotions or role changes.

Note: Planday Departments are only created for groups that contain employees currently being imported.

2) Mapping Logic — Department and employee group mapping

Departments are additive only. When an employee's department changes in BambooHR, the integration adds them to the new department in Planday but does not remove them from existing departments. Manual department assignments in Planday are preserved across every subsequent sync. Removals must be done manually.

Employee groups follow the same additive logic. When a job title changes in BambooHR, the employee is added to the new group but not removed from any existing ones. All group removals must be done manually in Planday.

If two departments share the same name across different contexts, the integration distinguishes them by prefixing the parent context. Where names remain ambiguous, the group type is appended (e.g., "Location X - Service (Department)").

The integration always creates new Employee Groups rather than modifying existing ones. If a group named "Bartenders" already exists, a new group is created with a suffix (e.g., "Bartenders-BambooHR"). This suffix rule is applied only once to prevent endless duplicates.


Key Functionality & Data Sync

How to import employees from BambooHR to Planday

The BambooHR integration is designed to be a "single source of truth" system, where BambooHR manages all employee data, which is then synced to Planday.

Prevents Data Duplication

  • The integration uses persistent external IDs to link profiles between BambooHR and Planday, which prevents the creation of duplicate employees if data is changed in Planday — but not in BambooHR. An employee is matched on email when the sync first runs, but even if the email changes afterwards, the persistent ID is retained and the email in Planday will be overwritten to match BambooHR.


One-Way Data Sync

  • Data flows one-way from BambooHR to Planday. Any manual changes made to synced employee fields within Planday will be overwritten during the next sync to maintain data integrity.

Note: There is one exception — the email (username) in Planday. Because the email functions as the employee's login, changes made in BambooHR will not automatically update the corresponding Planday profile. Email changes must be made directly in Planday.


Sync Frequency

  • The integration automatically syncs data every three hours. A manual "Sync now" button is also available in the integration settings.

Note: The automatic sync (every 3 hours) is a partial sync that only captures changes, whereas the manual "Sync now" button triggers a full sync of all data.


Filtering

  • You can select specific departments, locations, employment types, etc. from BambooHR to sync. Filtering is configured when the integration is set up. To change filters, you need to disable the integration and re-enable it. Alternatively, contact the Support team— they can share a link that re-opens the filter page without triggering a full reset, which helps avoid data link loss.


Reconnecting the Integration (Data Link Loss)

  • If you deactivate and then reactivate the integration, all prior user links between BambooHR and Planday are permanently removed. The system treats the reconnection as a new integration setup.

Note: When the integration is deactivated, existing links are preserved for up to 1 month before being permanently removed. Reconnecting within this window reduces the risk of data loss. After the 1-month period, all prior links are permanently deleted.

Why does this cause duplicates?

This loss of links becomes critical when the primary identifier (e.g. Email/Username) has been changed in BambooHR but has not yet been updated in Planday. Since the Email in Planday is an exception to the One-Way Data Sync rule, the email change in BambooHR will not automatically update the corresponding Planday profile. If the integration is deactivated and reactivated in this state, the system will not recognise the profiles as the same user and will re-create the user as a duplicate in Planday.


Credential failures and sync delays

  • When you update your BambooHR login credentials, the integration will continue attempting to connect using the new credentials. If those credentials are invalid, the integration keeps retrying for up to 24 hours before marking the connection as failed. During this retry period, Planday will still show the integration as syncing successfully — even though no new data is imported. Once the connection is confirmed as failed, a Reconnect button will appear. Click it to re-enter your credentials. You will not need to reconfigure filters or mapping.

Note: Data syncs — including absence imports — can be delayed by up to 24 hours if there are credential or availability issues on the BambooHR side.


How to import leave data from BambooHR to Planday

When Absence Sync is enabled for your BambooHR integration, approved leave recorded in BambooHR is automatically imported into Planday. BambooHR remains the single source of truth for all absence data; Planday simply reflects what has been approved in BambooHR. Employees should book leave via BambooHR.

Note: Accruals are not imported to Planday, so employees cannot use Planday to check their holiday balances.

How leave is displayed in the schedule

  • Visual leave indicators: Approved absences from BambooHR are shown on the schedule as a leave bar (blue bar) so managers can quickly see when an employee is unavailable.

  • Existing shifts: If an employee already has a shift in Planday on a day where BambooHR reports approved leave, that shift is either not automatically converted to an Open Shift or left as is, depending on the integration setting. The setting can be updated by going to Planday Web > Settings > Overview > BambooHR > Set up.

  • Approved leave only: Only approved absences from BambooHR are synced into Planday; pending absences are ignored.


Handling of partial leave days

  • A note will be added to the leave in Planday clarifying that the employee is off for only part of the day.


BambooHR leave configuration

  • Direction of sync: Leave sync is one-way (BambooHR to Planday). All accruals, approvals, and policy checks happen in BambooHR.

  • Enable/disable: Leave Sync is controlled via a toggle in the integration settings, and each imported absence event is logged in the Integration Sync Log for traceability. Leave sync is on by default.


Historical leave: Absences that started before the current calendar year cannot be synced. If an employee has an ongoing absence that began in a previous year (such as maternity leave), it must be created manually in Planday from the start of the current year to the end.


ℹ️ Need more help?

🔍 Search the Help Center | See videos at Tutorials.Planday.com | Watch a webinar

💬 For personalised support

Login and contact our support team via the blue icon at the bottom if you have more questions or book a one-to-one professional training session with an expert.

Did this answer your question?