BambooHR logoHubSpot logo

Accounts in applications

BambooHR to HubSpot integration: HubSpot users per division and department, time off from BambooHR as out-of-office

With an integration between BambooHR and HubSpot, a new employee in a commercial department in BambooHR automatically gets a HubSpot user, with the permission set for their job title and the team of their department under their division. Approved time off from BambooHR shows as out-of-office in HubSpot, and after the terminationDate the HubSpot user is removed.

What the integration does

Organisations with BambooHR as HR system and HubSpot for sales, marketing or service create HubSpot users by hand once a manager asks for one. Teams fall behind after a restructuring, a salesperson's time off is not visible in HubSpot, and a leaver keeps occupying a seat.

  1. BambooHR reports a new employee or a change in department, division, job title or status.
  2. If the employee is in a commercial department, KoppelHet creates a HubSpot user with the permission set for their job title.
  3. The user joins their department's team, under their division's team.
  4. Every day KoppelHet sets approved time off for the coming two weeks as out-of-office in HubSpot.
  5. Before the terminationDate the supervisor gets a handover list; then KoppelHet removes the user.
BambooHR → KoppelHet → HubSpotSOURCEBambooHRTARGETHubSpotKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → HubSpotSOURCEBambooHRTARGETHubSpotKoppelHetmapping · logging · monitoring
Out: HubSpot user with name and work email · Permission set per job title · Teams from division and department · Out-of-office from approved time off

What to watch for with BambooHR and HubSpot

  • BambooHR works with divisions above departments. HubSpot teams can have a parent team. KoppelHet sets the division as parent team with the department below it, so a sales manager per division sees the deals of all their departments.
  • Through the API BambooHR gives a list of approved time off in a period, by default today plus fourteen days. KoppelHet puts that time off into HubSpot as out-of-office, so a lead does not sit with a salesperson who is on holiday.
  • A Job Information row in BambooHR has its own date, and a job change is often entered ahead. KoppelHet only adjusts permission set and team in HubSpot on that date, not at the moment HR saves the row.
  • In BambooHR every employee has an employment status, such as Full-Time, Part-Time or Contractor, which can be configured per account. Per status we agree whether someone gets a HubSpot user, so interns, for example, stay without a seat.
  • BambooHR only sends webhooks for fields you choose to monitor. KoppelHet only monitors work email, job title, department, division, status and termination date, so an address or pay change does not touch HubSpot.
  • HubSpot has no key of its own for a BambooHR employee and looks up a user by ID or email address. KoppelHet therefore stores the HubSpot ID with the BambooHR ID, so a changed work email updates the existing user instead of creating a second one.

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 HubSpot see why someone is away?

No. Only the period goes to HubSpot, not the type of time off. Sickness stays in BambooHR.

Can this also be done through SCIM from an identity provider?

HubSpot supports SCIM for Professional and Enterprise accounts with single sign-on. SCIM does not handle teams or out-of-office; KoppelHet can add those from BambooHR.

Technical details for IT

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

  • BambooHR through event-based webhooks with monitor fields, signed with HMAC SHA-256, and the changed-employees endpoint as a safety net. Job Information (date, division, department, jobTitle) and employmentStatus as dated tables; time off through List Who's Out (approved time off in a period, by default today to fourteen days ahead). API user without access to compensation.
  • To HubSpot through the user provisioning API (settings/v3/users with idProperty=EMAIL; create, update with permission set and team, remove), the Teams API with a parent team and the Users objects (hs_job_title, hs_standard_time_zone, hs_out_of_office_hours; time zone first). Permission sets with a paid seat require the billing-write scope.

Which fields are transferred

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

Field in BambooHRField in HubSpotNotes
id (BambooHR)Koppeltabel naar de HubSpot-gebruiker
preferredName of firstName, lastNamefirstName, lastName
workEmailemailLookup in HubSpot with idProperty=EMAIL
jobTitleroleId en hs_job_titlePermission set through a table per job title
divisionBovenliggend team (parentTeamId)
departmentprimaryTeamId
employmentStatusWel of geen HubSpot-gebruikerFor example no user for interns
Who's Out (goedgekeurd verlof)hs_out_of_office_hours
terminationDateVerwijderen van de gebruiker

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.