🔓 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 or maps 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.
Note: The exact permissions required are shown during the connection flow in Step 2 below. Review the connection flow to confirm which permissions to enable.
A 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
Choose whether you want to disable any optional scopes (such as pay rates if you don't want to transfer salaries)
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.
Note: If you want employees to be imported into Planday who has a start date in the future (eg. to schedule them before they start). When configuring the filter during setup (or reconfiguring it), make sure to include the employment status "Pending." This ensures employees who haven't started yet are still imported ahead of their start date. Remember that Planday charges users in blocks of 5 so this might affect your invoices.
Step 3: Onboarding wizard: flexible entity mapping
After connecting and filtering, a guided wizard walks you through how your BambooHR data maps into Planday.
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 (Teams in Bamboo are stored as a custom field and cannot be mapped automatically. Contact Planday Support to configure team mapping for your account) | 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
Employee fields
The following employee data syncs from BambooHR to Planday:
First name and last name
Email address
Mobile phone number
Date of birth
Start date
Termination date
Home address (street, city, postcode)
Gender
National ID / SSN
Employee number
Profile picture
Salary
Pay rate and pay period sync from BambooHR to Planday. Salary data is drawn from employment records in BambooHR. For salary to sync, the currency in BambooHR must exactly match the currency in your Planday portal. The integration does not convert between currencies.
Absences
Absence types and absence records sync from BambooHR to Planday. Absences that started in a previous calendar year cannot be synced retroactively. These must be created manually in Planday from the start of the current year.
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.
Important notes and limitations
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.
BambooHR is the single source of truth
BambooHR is the single source of truth
Changes to synced employee fields made directly in Planday will be overwritten on the next full sync. Make all data changes in BambooHR.
Email address is an exception. The email in Planday functions as the employee's login username. Changing it in BambooHR will not update it in Planday, to prevent employees from being locked out. Email changes must be made directly in Planday.
Teams require CX support
Teams require CX support
Teams in BambooHR are a custom field and cannot be mapped automatically. Contact Planday Customer Experience to configure team mapping for your account.
Filters are set at connection
Filters are set at connection
To change which employees are included in the sync, you must disconnect and reconnect the integration.
Reconnecting removes links after one month. If the integration is disconnected for more than one month, all links between BambooHR and Planday profiles are permanently removed. Reconnecting within one month preserves existing links.
Why might 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.
Manual deactivations in Planday are not auto-reversed
Manual deactivations in Planday are not auto-reversed
If you manually deactivate an employee in Planday who is still active in BambooHR, the sync will not reactivate them. Reactivate them manually in Planday, or deactivate and reactivate in BambooHR to trigger the change.
Deactivated employee shifts are not deleted
Deactivated employee shifts are not deleted
When a termination date is reached in BambooHR, the employee's Planday profile is deactivated but their assigned shifts remain. Managers must reassign or delete those shifts.
Required Planday fields can block sync
Required Planday fields can block sync
If your Planday portal has custom required fields not covered by the integration mapping, the sync for affected employees may fail until those fields are populated manually.
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.
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.
