Skip to main content

BambooHR Integration

Sync employees, time-off policies, and periods from BambooHR to Productive.

Updated over a week ago

Automatically sync employee data and time-off information between BambooHR and Productive.


When a new employee is added in BambooHR, a user can be automatically created in Productive with their basic info — name, email address, and manager.


You can also sync additional BambooHR fields into employee fields in Productive to enrich employee profiles.

📌 Important: For the sync to run smoothly, make sure users have matching email addresses in both BambooHR and Productive.

Integration Setup

1) Access the App Marketplace

Go to Settings > App Marketplace in Productive and find BambooHR in the list of available apps. Click Connect App.

2) Connect BambooHR

Make sure you have admin permissions in BambooHR before connecting.
If you proceed without them, Productive will only sync your personal time-off data, not your organization’s.

Enter your BambooHR subdomain (for example, if your BambooHR login is acme.bamboohr.com, enter acme) and complete authentication.

Once connected, you’ll see a confirmation message: Successfully connected to BambooHR! Here, select which sync options you want to enable:

  • User provisioning

  • Time-off sync

If you select only Time-off sync, click Save to complete the setup.
If you select User provisioning (alone or in combination with time-off sync), click Next to define how users should be created in Productive.

User Provisioning Setup

Step 1: Define Subsidiary

You can choose how Productive assigns subsidiaries to new users created from BambooHR.

This mapping ensures employees are automatically placed under the right subsidiary based on their BambooHR data. Click Next to continue.

Use default subsidiary – Assign all provisioned users to one subsidiary in Productive.

Sync from BambooHR – Choose a single-select field (e.g. Location) from BambooHR and map each of its values to subsidiaries in Productive.

Step 2: Connect Employee Fields

Enable the Connect employee fields toggle to sync additional BambooHR data into Productive.

This lets you map BambooHR fields to existing employee fields in Productive. For example:

  • DepartmentDepartment

  • Effective DateDate joined

If you enable Allow new values, new entries from BambooHR that don’t yet exist in Productive (for example, a new department name) will be automatically added to the corresponding dropdown list in Productive.


This helps keep your employee records in sync without manual updates. These synced fields appear in the Info tab of each employee’s profile in Productive.

Click Save to finish setup.

How Employee Syncing Works

After setup, Productive automatically syncs employee data from BambooHR once every hour.

  • Automatic user creation – New employees in BambooHR are automatically added to Productive with their name, email, and manager.

  • Organizational hierarchy – Managers are created first, followed by employees, ensuring relationships are correctly assigned.

  • Seat limits – If there aren’t enough available seats in Productive, Productive will create as many users as possible and then send an email prompting you to increase your seat count.

  • Deactivation – When an employee’s status changes to inactive in BambooHR (for example, when you click End Employment), Productive automatically deactivates that user as well. Their seat needs to be manually removed in Settings > Billing in Productive.

After User Provisioning: Setting Up Synced Employees

Once employees are synced from BambooHR, they will initially have Staff permissions and will not have cost rates assigned. To fully set them up in Productive:

  1. Go to Resourcing > Employees. Synced users will have a sync icon next to their name.

  2. Open their profile and navigate to the Info tab. Adjust the permission set as needed to match their role.
    👉 Learn more about permission sets.

  3. Open the Cost Rate tab and add the employee’s cost rate (salary or hourly rate). This ensures they can track time and allow for accurate project cost calculations and profitability reporting.
    👉 Learn more about cost rates.

📌 Important: Newly synced users will receive an email invitation to set up their password in Productive. After that, they'll be able to access your organization.

📌 Next steps: Make sure you add them to relevant projects, budgets, and deals so they can start contributing and tracking time, expenses, and other activities.

How Time-Off Syncing Works

Once connected, Productive will sync the following from BambooHR:

Absence Policies

  • All assigned absence policies in BambooHR will appear as time-off allocations in Productive.

  • Any changes made in BambooHR will sync automatically to Productive.

Time-Off Periods

  • Approved absences from BambooHR will appear in Productive as daily or hourly time-off periods, including half-days.

  • Time-off data is synced according to the following rules:

1) Initial Sync

  • Time-off periods with a start date up to 3 months in the past and up to 1 year in the future are imported when the integration is first connected.

2) Ongoing Sync

  • Every hour, Productive syncs all time-off periods with a start date up to 1 year in the future.

  • Once per day, time-off periods with a start date up to 2 weeks in the past are also synced.

  • The sync window moves forward each day. For example, on January 1, 2025, Productive will sync periods up to January 1, 2026—but not yet January 2, 2026.

Deleted Events

  • Deleted time-off events in BambooHR are synced to Productive every 3 days—no need to delete them manually.

Visibility in the Resource Planner

Time-off periods synced from BambooHR are marked as imported from external software in the Resource Planner.

Editing, Removing, and Manually Syncing the Integration

You can manage your BambooHR integration at any time from the App Marketplace.
Hover over the BambooHR app to see when the last sync occurred and choose from the available actions:

  • Sync manually (🔁) – If you’ve just added a new employee in BambooHR or updated an existing user, you don’t need to wait for the hourly automatic sync. Click this button to immediately pull the latest data into Productive.

  • Edit integration settings (✏️) – Update your user provisioning options, field mappings, or subsidiary mappings.

  • Delete the integration (🗑️) – Disconnect BambooHR from Productive and stop all automated syncing.

This gives you full control over your data and ensures employee information in Productive is always up to date.

Did this answer your question?