🔓 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:
In BambooHR, click the cog icon in the top-right corner.
In the Settings sidebar, click Access Levels.
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.
Click Access Level Settings and edit the permissions to match what the Kombo connection flow requests during setup.
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
When prompted, enter your BambooHR subdomain (the part before .bamboohr.com).
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.
Configure Filter: Select any filters to apply to manage which employees are imported from BambooHR to Planday.
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
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
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
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
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
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 fields that Planday map
BambooHR Field | Planday |
|
First name (legal) | First Name |
|
Last name (legal) | Surname |
|
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
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
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
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
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)
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
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
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
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
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.
