BambooHR logoOmada logo

Identity and access management

BambooHR to Omada integration: identities in Omada from BambooHR, with the Omada connector or custom

With an integration between BambooHR and Omada Identity, Omada reads every employee from BambooHR as an identity, with department, division, location, manager and a start and end date. Omada has its own BambooHR connector that fully imports a report from BambooHR; KoppelHet comes in when you want changes faster, want a returning employee linked to their old identity, or want a job change with an effective date to count on the right day.

What the integration does

Organisations that use BambooHR for HR and Omada for identity governance usually switch on Omada's BambooHR connector first. It reads the whole report every time, so a departure or department change only shows in Omada after the next full import, and a returning colleague arrives as a new identity.

  1. BambooHR gets a separate user for the integration, without access to pay and personal data, with its own API key.
  2. KoppelHet processes notifications from BambooHR and keeps one row per employee with the data that applies today.
  3. In Omada the administrator sets up the REST collector on KoppelHet's address, with identities, contexts and owners.
  4. At go-live we set a threshold on deleted identities, so an error in the source does not make everyone disappear at once.
  5. After a departure the row stays with the end date, so Omada revokes access on the day HR recorded.
BambooHR → KoppelHet → OmadaSOURCEBambooHRTARGETOmadaKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → OmadaSOURCEBambooHRTARGETOmadaKoppelHetmapping · logging · monitoring
Out: Identity with business key, status, start and end date · Department, division and location as context · Manager as owner of the identity · Job title, work email and legal entity

What to watch for with BambooHR and Omada

  • Omada's BambooHR connector only supports importing, and only in full. It always reads the whole report. KoppelHet reacts to BambooHR's notifications and keeps the rows current, so Omada sees the latest state at each import, even when that import runs more often.
  • The Omada connector reads a company report in BambooHR, identified by the number from that report's URL. If someone in BambooHR edits or deletes the report, Omada misses fields or the import stops. KoppelHet reads the fields through the BambooHR API and does not depend on a report HR can change.
  • In BambooHR department, division and location are text fields on the employee, not objects of their own. Omada turns them into contexts with the name as key. If a department is renamed, Omada creates a new context and roles still hang on the old one. KoppelHet gives each department a fixed key and treats a rename as a change of name.
  • Besides the latest hire date, BambooHR also stores the original one. KoppelHet uses it to recognise a returning employee and delivers them under their earlier business key, so Omada keeps the identity and its review history.
  • Job and department are stored in BambooHR in the jobInfo table, with an effective date per row, including future changes. KoppelHet delivers the row that applies today, so a promotion from next month does not grant different rights in Omada already.
  • A BambooHR API key belongs to a user and only sees what that user may see; Omada shows a lock on fields without access. A missing department then becomes an identity without context. KoppelHet checks that the expected fields are filled and holds an incomplete row at its previous state.
  • In its example, Omada converts an empty status from BambooHR to Inactive. An employee with a temporarily empty status would lose access that way. KoppelHet derives the status from the employment status history and the end date, and never delivers an empty status.

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

Can Omada then create accounts in Entra ID or Active Directory itself?

Yes, with Omada's connectors. KoppelHet only supplies the HR source.

Does salary data go to Omada?

No. The user behind the API key has no access to pay.

Technical details for IT

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

  • Omada BambooHR connector (Omada Identity v14 update 10, BambooHR REST v1): import only, full only. Basic authentication with the API key as username and a random password; Base URL api.bamboohr.com/api/gateway.php/{company}/v1; identities from reports/{id}; mapping including id, displayName, hireDate (Valid from), terminationDate (Valid to) and supervisorEId as owner; contexts with business key 'orgunit_' plus department.
  • KoppelHet reads BambooHR through event-based webhooks (employee.created, employee.updated with monitor fields), the changed-employees endpoint and the jobInfo and employmentStatus tables. Omada reads KoppelHet through the REST collector (Content: Identity data) with OAuth2 Client Credentials; thresholds for new, modified and deleted objects.

Which fields are transferred

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

Field in BambooHRField in OmadaNotes
idBusiness key en Unique ID
displayName, firstName en lastNameName, First name en Last name
employmentHistoryStatusStatus
hireDate of originalHireDateValid from
terminationDateValid to
department, division en locationContexten (OrgUnit, Division, Location)
supervisorEIdIdentity owner
jobTitle en workEmailJob title en Email

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.