
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.
- Employees open GoodHabitz through the organisation's sign-in environment or learning platform, with their business email address.
- Every day KoppelHet fetches the milestones of the past time window from GoodHabitz.
- For each email address KoppelHet looks up the employee and their employer in Loket.
- A completed training becomes an education record on the employee, with type GoodHabitz, start and end date and whether the test was passed.
- If an email address belongs to nobody in Loket, HR gets an alert instead of a guess.
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 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 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 Loket | Field in GoodHabitz | Notes |
|---|---|---|
user_id (GoodHabitz) | businessEmailAddress (Loket) | The ID passed when GoodHabitz is opened, usually the work address |
Titel uit de contentcatalogus | name | Shortened to 50 characters |
Volledige titel en content_id | particularities | |
Mijlpaal Started | startDate | |
Mijlpaal Finished | endDate | |
Mijlpaal TestPassed of TestFailed | hasDiploma | |
Vaste waarde GoodHabitz | typeOfEducation en institute.name | Education type per employer |
Related
ADP Workforce Now → Loket
ADP Workforce Now to Loket integration: hires, pay, hours and bonuses from ADP to the Dutch payroll run
AlexisHR → Loket
AlexisHR to Loket integration: employees of the Dutch company from AlexisHR into payroll
BambooHR → Loket
BambooHR to Loket integration: HR changes from BambooHR for Dutch payroll
Bullhorn → Loket
Bullhorn to Loket integration: placement as a concept employee in the right payroll administration