Recruitee logoBambooHR logo

Recruitment to HR

Recruitee to BambooHR integration: hired candidates in BambooHR without clicking and retyping

With an integration between Recruitee and BambooHR, a candidate who moves to the Hired stage in Recruitee becomes a new employee in BambooHR, with start date, job title, department, location, employment status and the Dutch details from the profile. If the start date or job still changes in Recruitee afterwards, KoppelHet updates the employee in BambooHR.

What the integration does

Anyone recruiting in Recruitee and using BambooHR as HR system forwards hired candidates by hand, field by field. If a start date moves afterwards, BambooHR no longer matches the contract.

  1. The recruiter moves the candidate to Hired in Recruitee, with start date, hours and contract type in the profile.
  2. Recruitee reports the move to KoppelHet. KoppelHet fetches the profile and the job.
  3. KoppelHet creates the employee in BambooHR, with job title, department, location and a first employment status on the start date.
  4. Documents from Recruitee, such as the signed offer, go into the BambooHR record if you want.
  5. If the start date or job still changes in Recruitee, KoppelHet updates the employee in BambooHR instead of creating a second one.
Recruitee → KoppelHet → BambooHRSOURCERecruiteeTARGETBambooHRKoppelHetmapping · logging · monitoringRecruitee → KoppelHet → BambooHRSOURCERecruiteeTARGETBambooHRKoppelHetmapping · logging · monitoring
Out: New employee with name and personal email · Job title, department and location · Start date and employment status · Dutch details from the candidate profile · Later change of start date or job

What to watch for with Recruitee and BambooHR

  • KoppelHet reacts to the Hired stage and still updates the employee later if the start date or job changes.
  • KoppelHet fills the fields you use in BambooHR for the Netherlands, such as the BSN in the national ID field.
  • BambooHR creates an employee without an employment status if none is provided. KoppelHet passes the contract type from Recruitee as the first status record on the start date, so reports and downstream integrations classify the new colleague correctly from the start.
  • Department, job title and location are lists in BambooHR, and a value not in the list does not persist. KoppelHet translates the job's department and location to existing values and notifies HR if a value is missing.
  • KoppelHet works with a separate BambooHR user that may only create new employees and fill the required fields.
  • Because a notification from Recruitee leads to a new employee, KoppelHet only processes notifications with a valid Recruitee signature, and each notification only once.

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, architecture and compliance

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.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Does the salary go along?

If it is in the Recruitee profile, it can go as a line in BambooHR's compensation table. Many organisations deliberately keep salary out of this integration.

What about the GDPR?

You are the controller and KoppelHet is the processor, under a data processing agreement. Only hired candidates go to BambooHR; rejected candidates stay in Recruitee.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Recruitee is read through the signed candidate_moved webhook to a stage with the hire category (HMAC in X-Recruitee-Signature) and the ATS API (name, emails, phones, placement_locations, offer.department, profile fields and custom fields for start date, hours, contract type and BSN).
  • BambooHR is written through create-employee (at least firstName and lastName; employmentHistoryStatus with employeeStatusDate for the first status record; list fields only with valid options), then update-employee and create-table-row (v1.1) for jobInfo on changes, and upload-employee-file for documents.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in RecruiteeField in BambooHRNotes
name (voornaam en achternaam)firstName en lastName
emailshomeEmailThe work address follows later from IT
phonesmobilePhone
VacaturetiteljobTitleConverted to an existing list value
offer.departmentdepartmentConverted to an existing list value
placement_locationslocation
Startdatum (profielveld)hireDate
Contractsoort (profielveld)employmentHistoryStatusFirst status record, dated on the start date
BSN (profielveld)nationalIdOnly if HR records it in Recruitee
Recruitee-kandidaat-IDEigen veld in BambooHRTo recognise later changes

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.