

Recruitment to HR
Workable to BambooHR integration: hire with salary interval and later changes
With an integration between Workable and BambooHR, a candidate in the Workable Hired stage becomes a new employee in BambooHR, with department, division, location, job title, start date and salary. KoppelHet sets the salary with interval and currency, and updates changes after the hire in BambooHR until the start date.
What the integration does
Organisations that recruit in Workable and use BambooHR as their HR system retype hires into BambooHR. If the start date moves or the offer changes afterwards, HR adjusts it in BambooHR by hand. HR also has to check the salary interval.
- The recruiter moves the candidate to the Hired stage in Workable.
- KoppelHet fetches candidate, job and accepted offer.
- KoppelHet creates the employee with a first status record and a compensation record with amount, interval and currency.
- If the offer changes before the start date, KoppelHet updates the employee in BambooHR.
- A value BambooHR rejects reaches HR as a notice.
What to watch for with Workable and BambooHR
- A salary without interval and currency is easily misread in BambooHR. KoppelHet puts the salary as a row in BambooHR's compensation table with amount, interval and currency, so an hourly wage does not read as an annual salary.
- Start date and job title can still change after the hire. KoppelHet remembers which employee belongs to which candidate and updates start date and job title in BambooHR if they still change up to the start date.
- KoppelHet looks up the hiring manager by email address in BambooHR, so a middle name or married name does not break the link.
- Without a start date in the offer or the hiring plan KoppelHet stops with a notice, so BambooHR does not get a wrong first working day.
- BambooHR creates an employee without an employment status if none is given. KoppelHet passes the job's contract type as the first status record on the start date.
- KoppelHet reads the offer directly through the Workable API and also works when the job was closed right after the hire.
How we build and run it
- The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
- Every sync and every error is visible in the functional log; on an error your administrator is notified.
- A change that cannot go through is not half-applied but queued for another attempt.
- KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
- After go-live we manage the integration and adjust it when your process changes.
- The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.
Implementation and price
This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.
A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.
Frequently asked questions
Do CV and offer letter come along?
Not in KoppelHet's first version. It can be added later as an extension.
Who needs to enable the integration in Workable?
An administrator in Workable is needed for an API key with read rights. KoppelHet writes nothing back to Workable.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Workable through a subscription on candidate_moved with stage_slug hired (HMAC-SHA256 in X-Workable-Signature) and GET /candidates/:id, /jobs/:shortcode and /candidates/:id/offer (state accepted; document_variables with start_date; salary with amount, frequency and currency_iso). Token with r_candidates and r_jobs.
- BambooHR through create-employee (firstName and lastName required; employmentHistoryStatus with employeeStatusDate; 409 on an invalid list value), then update-employee for changes and a row in the compensation table. The id from the response is the key.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Workable | Field in BambooHR | Notes |
|---|---|---|
firstname en lastname | firstName en lastName | |
email (privé) | homeEmail | |
Hoofdafdeling en subafdeling (vacature) | division en department | |
location (vacature) | location | Existing list values only |
document variable start_date | hireDate | |
salary (amount, frequency, currency_iso) | compensation (payRate, payPer, currency) | |
Hiring manager (requisition) | Reports to | By employee number instead of name |
Related
Workable → ADP Workforce Now
Workable to ADP Workforce Now integration: from the Hired stage to an in-progress hire per ADP company
Workable → AFAS Profit
Workable to AFAS integration: a candidate in the hired stage starts onboarding in AFAS
Workable → Dayforce
Workable to Dayforce integration: hire from the Hired stage, validated first
Workable → Deel
Workable to Deel integration: from the Hired stage to a draft contract in Deel