
HR to ITSM
BambooHR to ServiceNow integration: users and onboarding requests right after a change in BambooHR
With an integration between BambooHR and ServiceNow, employees from BambooHR become users in ServiceNow, with department, location and manager, and a new hireDate or terminationDate automatically orders the onboarding or offboarding item from the ServiceNow service catalog. BambooHR reports every change through a signed webhook, so ServiceNow catches up within minutes.
What the integration does
Organisations that use BambooHR as their HR system and ServiceNow for IT have no BambooHR integration in the ServiceNow Store. New employees and leavers then reach the service desk through an email from HR, and a transfer often goes unnoticed in ServiceNow.
- KoppelHet creates a webhook through the BambooHR API that follows exactly the fields ServiceNow needs.
- On every webhook KoppelHet checks the signature and processes each employee in the message separately.
- Departments and locations go to ServiceNow first, then the user with manager.
- If the hireDate falls within the onboarding lead time, KoppelHet orders the onboarding item in the new user's name.
- On a terminationDate KoppelHet orders the offboarding item; after that date the user becomes inactive.
What to watch for with BambooHR and ServiceNow
- A webhook created through the BambooHR API can follow any field the API user has rights to; the global webhook from the settings follows a fixed list. KoppelHet therefore creates its own webhook on department, division, location, manager and the dates, so a move to another office reaches ServiceNow straight away.
- BambooHR retries a failed webhook five times, the last time after forty minutes, and then gives up. KoppelHet therefore asks BambooHR every hour which employees were created, changed or deleted since the previous check, so an outage at ServiceNow does not lead to a missed leaver.
- BambooHR signs every webhook with an HMAC over the content and a timestamp. KoppelHet checks both before anything goes to ServiceNow, so nobody can have a catalog request ordered with a forged message.
- A BambooHR webhook can hold several employees at once. KoppelHet passes each one to ServiceNow separately, so one employee with an unknown department does not hold up the rest.
- BambooHR gives the manager as their employeeNumber. That is also the key of users in ServiceNow, so KoppelHet can link the manager directly; if that user does not exist yet, KoppelHet loads the manager first.
- Fields in custom tables in BambooHR are not included in webhooks. If the cost centre is in such a table, for example, the hourly check takes it to ServiceNow.
- A BambooHR API key has the same rights as the user who creates it. We ask for a separate BambooHR user without access to pay and social security numbers, so the webhook cannot follow that data either.
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 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
Does ServiceNow have a BambooHR integration?
Not in the ServiceNow Store, as far as we found. Integration platforms such as Workato and Celigo have templates; KoppelHet builds directly on the APIs of both sides.
Does salary data go to ServiceNow?
No. The integration's BambooHR user has no access to it.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- BambooHR through a permissioned webhook (created through the API, JSON, HTTPS only, signed with SHA-256 HMAC in X-BambooHR-Signature with X-BambooHR-Timestamp, up to five retries) and GET /api/v1/employees/changed?since= (Inserted, Updated, Deleted) as a safety net. Fields employeeNumber, firstName, preferredName, lastName, workEmail, department, division, location, supervisorId, hireDate, terminationDate and status.
- ServiceNow through the Import Set API (insertMultiple) with transform maps, coalesce on employee_number and run_after for cmn_department and cmn_location before sys_user. Catalog requests through POST /api/sn_sc/servicecatalog/items/{sys_id}/order_now with sysparm_requested_for.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in BambooHR | Field in ServiceNow | Notes |
|---|---|---|
employeeNumber | employee_number | Coalesce key |
preferredName of firstName, lastName | first_name, last_name | |
workEmail | email | |
department en division | department (cmn_department) | |
location | location (cmn_location) | |
supervisorId | manager | employeeNumber of the manager |
status (Active, Inactive) | active |
Related
Ashby → BambooHR
Ashby to BambooHR integration: hire, changed start date and employment status in BambooHR
BambooHR → 4PS Construct
BambooHR to 4PS Construct integration: employees from BambooHR in the 4PS company of their location
BambooHR → Active Directory
BambooHR to Active Directory integration: accounts in your own domain from HR
BambooHR → ADP iHCM
BambooHR to ADP iHCM integration: salary, bonuses and commissions to Dutch payroll