BambooHR logoGoogle Workspace logo

Identity and access management

BambooHR to Google Workspace integration: Google accounts from BambooHR, per division and location

With an integration between BambooHR and Google Workspace, a new employee in BambooHR gets a Google account in the organisational unit of their division or location, with job title, department, manager and photo. On the termination date the account is suspended, and the work address is also stored in BambooHR afterwards.

What the integration does

Anyone using BambooHR and working in Google Workspace often only creates accounts after a separate message from HR, with a personal email address for the invitation. Profile photos are missing, and after a departure the account sometimes stays active for weeks.

  1. HR creates the new employee in BambooHR. BambooHR reports it straight away.
  2. KoppelHet creates the Google account in the organisational unit of the division or location, with job title, department and manager.
  3. The work address goes back to BambooHR, and the photo from BambooHR goes onto the Google account.
  4. When job title, department or manager change, details and groups in Google follow.
  5. On the termination date KoppelHet suspends the account and transfers the files to the manager.
BambooHR → KoppelHet → Google WorkspaceSOURCEBambooHRTARGETGoogle WorkspaceKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → Google WorkspaceSOURCEBambooHRTARGETGoogle WorkspaceKoppelHetmapping · logging · monitoring
Out: Google account with work address · Organisational unit per division or location · Job title, department and manager · Photo · Suspension on termination

What to watch for with BambooHR and Google Workspace

  • BambooHR returns the manager's email address with every employee, and Google records the manager with exactly that address. KoppelHet can therefore set the relationship directly, as long as the manager already has a Google account.
  • New employees often only have a personal email address in BambooHR. KoppelHet can set it as the recovery email on the Google account, so the new colleague can reset the start password themselves, and writes the new work address back to BambooHR.
  • BambooHR supplies photos in fixed sizes. KoppelHet puts the photo on the Google account, so Gmail, Chat and Meet show the photo HR has in BambooHR.
  • Divisions and locations in BambooHR often indicate the country at international companies. KoppelHet translates them to organisational units in Google, so Dutch colleagues get the Dutch policy and employees in other countries stay outside this environment.
  • BambooHR only sends a notification for a changed employee for fields the notification monitors. KoppelHet has job title, department, division, location, manager and employment status monitored; other changes do not reach Google.
  • Google charges a suspended account the same as an active one. KoppelHet suspends on the termination date, transfers the files and deletes the account after the period you choose.

This integration is also part of joiner, mover, leaver.

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 integration see salaries in BambooHR?

No. The integration uses a BambooHR user without access to compensation.

Does this also work with Microsoft 365?

Yes, we build that integration too.

What about the GDPR?

You are the controller and KoppelHet is the processor, under a data processing agreement. A personal email address only goes to Google as a recovery detail if you choose so.

Technical details for IT

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

  • BambooHR is read through event-based webhooks (employee.created, employee.updated with monitor fields) with an HMAC SHA-256 signature and the changed endpoint as a safety net. Fields include employeeNumber, preferredName, firstName, lastName, homeEmail, workEmail, jobTitle, department, division, location, supervisorEmail and terminationDate; photo through get-employee-photo; work address back through update-employee.
  • Google is written through the Admin SDK Directory API (users with externalIds, name, primaryEmail, recoveryEmail, organizations, orgUnitPath, relations type manager and suspended; users.photos; groups and members) and the Data Transfer API for Drive. Access through a service account with domain-wide delegation.

Which fields are transferred

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

Field in BambooHRField in Google WorkspaceNotes
employeeNumberexternalIds (type organization)
preferredName of firstNamename.givenName
lastNamename.familyName
NaamgevingsregelprimaryEmailGoes back to workEmail in BambooHR
homeEmailrecoveryEmailOnly if you want
jobTitleorganizations.title
departmentorganizations.department en groepen
division of locationorgUnitPath
supervisorEmailrelations (type manager)
FotoProfielfoto (users.photos)
terminationDatesuspended = true

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.