Connect BambooHR
Where to find your subdomain and API key, and how to map BambooHR fields to contact attributes.
On the Team plan and above, an admin connects BambooHR so Contacts and groups stay in step with it, hourly or daily. This article covers the BambooHR side. What a sync does is in Sync contacts from your HR system: it adds starters, keeps mapped details current and takes leavers out of the synced groups, and it never deletes contacts or responses.
What you need from BambooHR
- Your company subdomain: the part before .bamboohr.com, so acme for acme.bamboohr.com.
- An API key. In BambooHR, open the account menu, then API Keys, then Add New Key. Create it as a user whose access level can see every employee and the fields you sync: department, location, job title, hire date, employment status and supervisor.
wrkflow only reads from BambooHR and never writes. It uses the key read-only, encrypts it before storing it, and never shows it again.
Set up
- Open Integrations, then BambooHR, and choose Connect BambooHR. Enter the subdomain and the API key, then Test connection. Nothing is saved or changed by the test.
- Map BambooHR fields to your attributes: department, location, job title, manager email, and the hire date as a tenure band.
- Choose how often to sync, hourly or daily, then Connect and Sync now.
- Check the people added in Sync history.
Nothing about surveys or responses is sent to BambooHR.
If something goes wrong
- BambooHR refused the credentials (401): create a new API key from a user who can see every employee, then Edit the connection.
- BambooHR answered 404: use only the part before .bamboohr.com for the subdomain.
- BambooHR is rate limiting requests (429): the next sync tries again. If it keeps happening, sync daily instead of hourly.
- HR sync isn’t set up on this server: whoever runs wrkflow sets HR_SYNC_ENCRYPTION_KEY.
See Integrations for the statuses and how to ask support.
Still stuck? Talk to us and we’ll help you sort it out.