Loket logoGoodHabitz logo

Training and certificates

Loket to GoodHabitz integration: completed GoodHabitz trainings as education on the employee in Loket

With an integration between Loket and GoodHabitz, every GoodHabitz training an employee completes automatically appears as an education record on the right employee in Loket, with start and end date and whether the test was passed. Your sign-in environment decides who gets access to GoodHabitz; the integration makes the education overview in Loket complete without retyping.

What the integration does

Organisations that run payroll in Loket and let employees learn online with GoodHabitz have no overview of completed trainings in the personnel file. HR pulls reports from GoodHabitz and adds completed trainings to the employee by hand, or leaves it.

  1. Employees open GoodHabitz through the organisation's sign-in environment or learning platform, with their business email address.
  2. Every day KoppelHet fetches the milestones of the past time window from GoodHabitz.
  3. For each email address KoppelHet looks up the employee and their employer in Loket.
  4. A completed training becomes an education record on the employee, with type GoodHabitz, start and end date and whether the test was passed.
  5. If an email address belongs to nobody in Loket, HR gets an alert instead of a guess.
Loket → KoppelHet → GoodHabitzSOURCELoketTARGETGoodHabitzKoppelHetmapping · logging · monitoringLoket → KoppelHet → GoodHabitzSOURCELoketTARGETGoodHabitzKoppelHetmapping · logging · monitoring
Out: Employee with business email per employer (read) · Milestones per training (started, finished, test passed or failed) · Education record on the employee in Loket · Education type GoodHabitz per employer
Back: Completed training as education with dates and diploma yes or no

What to watch for with Loket and GoodHabitz

  • GoodHabitz has no users of its own in its API; a progress record carries the ID passed when the training was opened, usually the email address. Loket has a business email address per employee. KoppelHet matches on that address, so the work address in Loket and in the sign-in environment must be the same.
  • An education record in Loket has a name of at most 50 characters, and a GoodHabitz title can be longer. KoppelHet shortens the name and puts the full title with the GoodHabitz ID in the particularities field, which allows 4,000 characters.
  • The education type in Loket is a list managed per employer. With several employers KoppelHet makes sure the GoodHabitz type exists at each employer, so HR can filter on online training per employer.
  • GoodHabitz reports per training the milestones started, finished, test passed and test failed. Loket has a start and end date and a field for a diploma obtained on an education record. KoppelHet only fills the diploma for a passed test, so a finished training without a test does not count as a diploma.
  • GoodHabitz only supplies milestones over a time window of at most seven days, and allows ten requests per minute per key. KoppelHet requests an overlapping window every day and skips duplicate milestones, so a day of downtime does not lose a completion.
  • GoodHabitz reports milestones for trainings, single lessons and tests. Only completed trainings go to Loket, so an employee's education overview does not fill up with dozens of lessons.
  • If GoodHabitz removes a training from the catalogue, it appears in a separate list of deleted content. KoppelHet leaves an education record already in Loket in place, because the employee did complete it.

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 also create GoodHabitz accounts?

No. The GoodHabitz API cannot create users. Access runs through single sign-on or your learning platform; there Loket or the identity provider decides who can sign in.

Do partly completed trainings go to Loket too?

Not in the first version. Only completed trainings reach Loket. Reporting progress per department can come later as an extension.

Does this work if a payroll bureau manages Loket for us?

Yes. The bureau gives the integration access to your employers, with the right to record education on employees.

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 in the X-API-Key header (requested from GoodHabitz). GET /v2/milestones with timestamp_since and timestamp_until (window 0 to 7 days, no later than now), per organization_id with user_id, content_id, content_type (Course, Lesson, Assessment) and event (Started, Finished, TestPassed, TestFailed). Titles through GET /v2/contents, deleted content through GET /v2/deleted-contents. Rate limit 10 requests per key and 20 per IP in 60 seconds.
  • Loket through the REST API with OAuth 2.0 (authorization code with refresh token). Employees per employer (businessEmailAddress, employeeNumber); education types with GetEducationTypesByEmployerId and PostEducationTypeByEmployerId; education records with GetEducationsByEmployeeId and PostEducationByEmployeeId (name up to 50 characters, typeOfEducation, institute, startDate, endDate, hasDiploma, particularities up to 4,000 characters). Option values through /metadata on the POST URL.

Which fields are transferred

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

Field in LoketField in GoodHabitzNotes
user_id (GoodHabitz)businessEmailAddress (Loket)The ID passed when GoodHabitz is opened, usually the work address
Titel uit de contentcatalogusnameShortened to 50 characters
Volledige titel en content_idparticularities
Mijlpaal StartedstartDate
Mijlpaal FinishedendDate
Mijlpaal TestPassed of TestFailedhasDiploma
Vaste waarde GoodHabitztypeOfEducation en institute.nameEducation type per employer

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.