HiBob logoDocebo logo

Training and certificates

HiBob to Docebo integration: employees from Bob in Docebo, completed courses back in Bob Learning

With an integration between HiBob and Docebo, every employee from Bob becomes a Docebo user automatically, in the branch of their department or site and with their manager, and is deactivated rather than deleted on departure. If you use Bob Learning, completed Docebo courses come back into Bob; Docebo has its own recipes for HiBob that create and update users, and KoppelHet comes in for departures, branches and the write-back.

What the integration does

Anyone using HiBob for HR and Docebo for product knowledge and compliance training can lose Docebo accounts with all earned certificates when Bob is cleaned up. Managers cannot see in Bob which training their team has completed, because that is only in Docebo.

  1. HR creates the new employee in Bob, with department, site, manager and start date.
  2. Bob reports the employee; KoppelHet fetches the data and creates the Docebo user in the right branch, with the Bob id as the fixed key.
  3. The courses you want to see back are listed as training content in Bob Learning.
  4. When the employee completes a course, Docebo reports it and the result appears in Bob Learning on the employee.
  5. On departure KoppelHet first posts the last results to Bob and then deactivates the Docebo user; the learning history is kept.
HiBob → KoppelHet → DoceboSOURCEHiBobTARGETDoceboKoppelHetmapping · logging · monitoringHiBob → KoppelHet → DoceboSOURCEHiBobTARGETDoceboKoppelHetmapping · logging · monitoring
Out: User with name, work email and Bob id · Branch based on department or site · Manager · Course catalogue as training content in Bob Learning
Back: Completed, passed or failed course with date

What to watch for with HiBob and Docebo

  • Docebo's HiBob recipe looks up the Docebo user by email when an employee is deleted in Bob and deletes that user, with their learning history. KoppelHet never deletes but deactivates, so earned certificates can still be found after a clean-up in Bob.
  • Docebo's recipes recognise a user by email address. If the work email changes in Bob, for example after a marriage, a second user can appear. KoppelHet uses the Bob id as the Docebo username, so a new address updates the same user.
  • Bob Learning only accepts results for a course that is first listed as training content in Bob. KoppelHet first puts the Docebo courses you want to see back into Bob, in blocks of at most 500, before any results are sent.
  • A result in Bob Learning must belong to the work email of an active employee. After departure Bob no longer accepts results. On a departure KoppelHet therefore first sends the last completed courses, and only then deactivates the user in Docebo.
  • Bob refuses the same result a second time. KoppelHet gives every result a fixed key based on the Docebo enrolment, so a repeated notification from Docebo never creates a duplicate training in Bob.
  • A Docebo user belongs to one branch, while Bob has both a department and a site. Per customer we choose which of the two becomes the branch; the other goes along as an additional field, so enrolment rules on country or location keep working.
  • Bob reports a start or departure at midnight after the effective date in the site's time zone. KoppelHet follows that time zone, so a colleague in London and one in Madrid each get Docebo access on their own first day.

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

Why not just use Docebo's HiBob recipes?

They work well for creating and updating. Do watch the recipe for deleted employees: it deletes the Docebo user. If you want results in Bob or email addresses change, choose custom work.

We do not have Bob Learning. Can results still go to Bob?

Bob's Learning API requires the Bob Learning module. Without it results stay in Docebo; the user side of the integration still works.

Which permissions does the integration need in Bob?

A service user with read rights on personal and work data, and for the write-back the right to manage course providers. Salary and bank data are not needed.

Technical details for IT

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

  • HiBob is read through signed webhooks (including employee.created, employee.updated, employee.joined and employee.left, with the employeeId) and the HiBob API people search, with a service user with read rights on root and work. Results go back through the Bob Learning API (requires the Bob Learning module) - POST /learning/lms-integrations for the integration, training-content in bulk up to 500 items per call, and POST .../xapi/statements with the verbs completed, passed or failed. A statement id that already exists returns 409; actor.mbox must be the work email of an active employee.
  • Docebo through the REST API with OAuth 2.0 - /manage/v1/user (create, update, active set to false), /manage/v1/orgchart for branches, always sequential. Completed courses through the course.enrollment.completed webhook (user_id, course_id, completion_date, status).

Which fields are transferred

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

Field in HiBobField in DoceboNotes
id (Bob)usernameFixed key; not the email address
root.firstName, root.surnamefirstname, lastname
root.emailemail
work.department of work.siteIdBranch (code)One of the two, chosen per customer
work.reportsTomanagerThrough the manager's Docebo user
work.title, siteAdditional fields
Vertrek (employee.left)Gebruiker inactief
Docebo-cursus (course_id)Trainingscontent: externalIdentifier en sourceLink
course.enrollment.completedxAPI-statement (actor.mbox, object.id, verb)actor.mbox is the work email in Bob

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.