HiBob logoGoodHabitz logo

Training and certificates

HiBob to GoodHabitz integration: GoodHabitz trainings in Bob Learning and completed training back on the employee

With an integration between HiBob and GoodHabitz, the GoodHabitz offering is a training catalogue in Bob Learning, and every GoodHabitz training completed or passed then appears on the right employee in HiBob by itself. Who has access to GoodHabitz follows HiBob through your sign-in environment, so leavers lose access on their last working day.

What the integration does

Organisations that use HiBob with the Bob Learning module and GoodHabitz as training offering have two places where learning lives. HR adds the GoodHabitz titles to Bob by hand, and what employees complete in GoodHabitz does not reach their Bob profile, so it is looked up separately for reviews and audits.

  1. KoppelHet registers GoodHabitz once as a provider in Bob Learning.
  2. The GoodHabitz catalogue goes to Bob as training content, with title, duration, language and link; removed trainings are archived in Bob.
  3. Access to GoodHabitz runs through single sign-on; the sign-in environment follows hire and departure from HiBob.
  4. KoppelHet fetches completed trainings and test results, period by period.
  5. Every completion goes to Bob as a progress statement and then appears on the employee.
HiBob → KoppelHet → GoodHabitzSOURCEHiBobTARGETGoodHabitzKoppelHetmapping · logging · monitoringHiBob → KoppelHet → GoodHabitzSOURCEHiBobTARGETGoodHabitzKoppelHetmapping · logging · monitoring
Out: Trainings from the GoodHabitz catalogue as training content in Bob · Removed trainings, archived in Bob · Access to GoodHabitz through the sign-in environment
Back: Completed trainings · Passed and failed tests with score

What to watch for with HiBob and GoodHabitz

  • Bob Learning has an API through which an external provider adds trainings to the catalogue and reports progress. That API only works when the Bob Learning module is enabled; without it KoppelHet cannot add trainings to Bob.
  • GoodHabitz gives a training's duration as ISO text, such as PT45M, while Bob expects the duration in seconds. KoppelHet converts it, so employees see in Bob how long a training takes.
  • Bob links a progress statement to a training through the link given for that training. KoppelHet therefore uses the GoodHabitz web link both in the catalogue and in every progress statement, otherwise Bob does not recognise the training.
  • Bob only accepts progress for the work email of an active employee. GoodHabitz sometimes reports a completion after someone has left; KoppelHet keeps it in the platform and reports it to HR instead of letting it disappear.
  • GoodHabitz returns progress per period of at most seven days, and Bob rejects a statement with an ID it has already received. KoppelHet creates a fixed ID per completion, so a period fetched again after an outage does not create duplicate trainings in Bob.
  • GoodHabitz keeps a list of trainings that have been removed from the offering. KoppelHet archives those trainings in Bob; they then disappear from view for employees, while trainings completed earlier stay in the profile.
  • Bob knows the verbs completed, passed and failed, and silently ignores others. KoppelHet translates the GoodHabitz events Finished, TestPassed and TestFailed exactly to those three; Started does not go to Bob.

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

Do we need Bob Learning?

Yes, for the catalogue and completed trainings in Bob. Without that module only access to GoodHabitz can follow HiBob, through your sign-in environment.

Does the integration create accounts in GoodHabitz?

Not directly; the GoodHabitz API has no function for it. With single sign-on your sign-in environment decides who can reach GoodHabitz, and it follows HiBob.

What data does GoodHabitz receive from HiBob?

None, apart from what the sign-in environment sends at login, usually name and work email. Salary and other HR data stay in HiBob.

Technical details for IT

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

  • GoodHabitz API v2 with an API key from GoodHabitz support: GET /v2/contents (with modified_since), /v2/deleted-contents, /v2/milestones (Started, Finished, TestPassed, TestFailed with user_id, content_id and timestamp) and /v2/progress (progress_percentage and test_score). Time window 0 to 7 days and no later than now; limit 10 requests per minute per key and 20 per IP address.
  • Bob Learning API at https://api.hibob.com/v1: POST /learning/lms-integrations (providerIdentifier), POST and PATCH /learning/lms-integrations/{provider-identifier}/training-content (up to 500 items per call, externalIdentifier and title required), PATCH .../training-content/archive and POST .../xapi-statements (actor.mbox, verb, object.id, result; 409 on a repeated statement ID). Service user with the Course providers permission or OAuth scope learning.integrations:write; 10 catalogue calls and 300 statements per minute.

Which fields are transferred

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

Field in HiBobField in GoodHabitzNotes
id (GoodHabitz-content)/trainingContent/externalIdentifierFixed key to update or archive later
title/trainingContent/title
duration (ISO-8601, bijvoorbeeld PT45M)/trainingContent/duration (seconden)
localization.language/trainingContent/languageThrough Bob's language list
category.name/trainingContent/category
launch_urls.web.complete/trainingContent/sourceLink en object.idBob links progress to this link
user_id (werk-e-mail)actor.mboxMust be the work email of an active employee in Bob
event Finished, TestPassed, TestFailedverb completed, passed, failed
test_score (0 tot 100)result.score

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.