With the BambooHR integration, you adopt employee master data and absences from BambooHR into ZEP. BambooHR is a human resources system for mid-sized and internationally based companies, focused on personnel records, onboarding, and absence management. BambooHR remains the leading system for employee data and absences.
Data direction:
• Employee master data: BambooHR → ZEP
• Absences: BambooHR → ZEP
• Time entries: ZEP → BambooHR, optional
Product line availability
Note: The BambooHR integration is available in ZEP Compact and ZEP Professional. It is not included in ZEP Clock. The integration can be booked via the Self-Service Tool.
Absence synchronization additionally requires the Absences & Overtime module. Assigning a default price group requires the Revenue & Costs module (in ZEP Compact) or ZEP Professional.
Setup and configuration are reserved for administrators.
Prerequisites
To set up the integration, you need:
Access to the Connector Marketplace in ZEP
A BambooHR account with active API access
Your BambooHR subdomain (for example yourcompany from yourcompany.bamboohr.com)
A BambooHR API key from the BambooHR user settings
Setting up the integration
In ZEP, go to Administration > Interfaces > Connector Marketplace. Select BambooHR and click Add. You will be guided through the booking process in the Self-Service Tool.
After booking, configure the following on the integration detail page:
Company Subdomain: Enter the part of your BambooHR URL before .bamboohr.com, so for yourcompany.bamboohr.com that is yourcompany. It determines which BambooHR instance is addressed.
API key: Provide the API key generated in BambooHR. It authenticates ZEP against your BambooHR instance.
Username Generation: Determines how ZEP forms usernames for newly imported employees. Available are the external employee ID, the email prefix with ID, FirstName.LastName, the first letter of the first name with the last name, the email prefix on its own and the full email address. The default is the email prefix with ID.
Default Price Group: Applies to all employees newly imported from BambooHR into ZEP. The default is 01, and the code must exist in ZEP.
Show Cost Accounting: Controls whether imported employees are included in ZEP cost accounting.
Tip: Create the API key in BambooHR under Account > API Keys. The key is only visible once and should be entered in ZEP immediately.
Data transfer
The integration transfers the following data between BambooHR and ZEP:
Employees
Data direction: BambooHR > ZEP. ZEP imports the following employee data from BambooHR:
BambooHR employee ID
Email address
First and last name
Personnel number (BambooHR employee number)
Start date and end date, if available
Department and position
Start and end dates are stored as employment periods in ZEP. ZEP primarily uses the BambooHR employee ID for matching. The email address serves as a fallback. Existing employees are automatically recognized and updated.
Note: Employees who are inactive in BambooHR and have no end date are skipped during the import. Inactive employees with an end date are adopted so that the employment period can be ended in ZEP. If someone is missing after a synchronization, check the end date in BambooHR first.
Absences
Data direction: BambooHR > ZEP. Absences approved in BambooHR are transferred to ZEP and assigned to the respective employee as an absence entry. Absences recorded in ZEP are not sent back to BambooHR.
The following is transferred per absence:
Assignment to the employee
Absence type or reason
Start and end date
Indication of whether the absence is full-day, half-day, or hourly
Note or comment
Only approved absences are transferred. ZEP covers a three-year period (previous, current, and next year) and automatically recognizes which entries are new, changed, or deleted.
Mapping absence reasons
For an absence from BambooHR to arrive in ZEP, the BambooHR time-off type must be assigned to a ZEP absence reason. You make this assignment on the absence reason itself, under Administration > Overtime & absences > Reasons for Absence. There, right next to the Abbreviation, is the field External Connector ID. Enter the name of the BambooHR time-off type there.
Example: If the time-off type in BambooHR is called Vacation, enter the external connector ID Vacation on the ZEP absence reason Urlaub. The ZEP abbreviation stays untouched, both systems may keep their own names.
For a time-off type without an assignment, ZEP transfers nothing. The synchronization does not stop, but the affected types appear in the integration log. Check the log after the first synchronization and add missing assignments.
Time entries
Data direction ZEP > BambooHR. This transfer is inactive by default and is switched on with Export Time Entries. Per entry, the employee, the date, the duration in hours and the remark are transferred. This way the times recorded in ZEP are also available in BambooHR, without entering them there a second time. Project assignment and activities stay in ZEP.
Note: BambooHR expects the duration as an hour value, not as a start and end time. What is transferred is therefore the booked duration of the day, not the moment of the booking.
Synchronization and log
Once set up, the integration synchronizes the data automatically every hour. On the integration detail page in the Connector Marketplace, you can see the current status as well as a detailed log of recent sync runs — including error messages if individual records could not be transferred.
From the integration detail page, the synchronization can also be triggered manually without waiting for the next automatic run.
For employee data and absences, BambooHR remains the leading system. Make changes to master data and approved absences in BambooHR — ZEP picks them up automatically in the next sync.
Newly imported employees are created in ZEP with the configured default values (price group, cost accounting). These settings can be adjusted in ZEP per employee afterwards.
