
Training and certificates
AFAS to GoodHabitz integration: access follows AFAS Profit, completed training back in AFAS as a course
With an integration between AFAS Profit and GoodHabitz, AFAS decides who has access to GoodHabitz, and completed training and passed tests appear as a course on the employee in AFAS, with a certificate and validity date where needed. HR therefore sees in AFAS who has done a mandatory training, without exports from GoodHabitz.
What the integration does
Organisations that offer GoodHabitz alongside HR in AFAS Profit arrange access per employee by hand. Completed training, including mandatory courses such as information security, is only in GoodHabitz, so for an audit HR exports an overview and looks up the employees in AFAS.
- HR records a new employee in AFAS with job and organisational unit.
- From the start date, KoppelHet adds the employee to the group that grants access to GoodHabitz, following the rules per job or unit.
- The employee signs in to GoodHabitz with single sign-on and follows training.
- KoppelHet fetches daily who completed a training or passed a test, and records it as a course on the employee in AFAS.
- After the end date KoppelHet removes the employee from the group, so the licence is freed.
Back: Completed training with date · Passed tests, with certificate and validity for mandatory training
What to watch for with AFAS Profit and GoodHabitz
- AFAS records training as a course on the employee, with a tick for an earned certificate and a period in which it is valid. For a mandatory GoodHabitz training KoppelHet fills that period with the term HR chooses per training, for example a year, so AFAS shows when the training must be repeated.
- GoodHabitz has courses, single lessons, assessments and activities. Only a completed course or a passed test becomes a course line in AFAS; single lessons stay in GoodHabitz, so the file does not fill up.
- A training in GoodHabitz has its own ID, a course in AFAS its own code. HR records per training which AFAS course it belongs to. KoppelHet puts new trainings in the catalogue on a list, so HR can map them before anyone completes them.
- GoodHabitz cannot create users through its public interface. Access runs through the group in your sign-in environment, and AFAS decides with job and unit who is in that group, for example only employees on a permanent contract.
- GoodHabitz identifies someone by the user ID from sign-in, usually the work email. KoppelHet looks up the employee in AFAS by that address, also in another employer within the same AFAS environment, and remembers old addresses after a name change.
- GoodHabitz allows ten requests per minute per key and returns progress for at most seven days at a time. KoppelHet fetches per day and remembers how far it got, so a training completed during an outage still reaches AFAS.
- Nothing from AFAS goes to GoodHabitz itself; only the group in the sign-in environment changes. BSN, salary and home address therefore stay outside the learning platform.
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 create accounts in GoodHabitz?
Not directly, as GoodHabitz has no public interface for it. The group in your sign-in environment decides who gets in, and we let that group follow AFAS.
Must every GoodHabitz training exist as a course in AFAS?
No. Only the trainings HR wants to see in AFAS, such as mandatory ones. The rest stays in GoodHabitz and does not enter the file.
What if GoodHabitz runs through our learning platform?
We then usually fetch progress from that learning platform and connect AFAS to it, instead of directly to GoodHabitz.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- AFAS is read with a dedicated app connector with a GetConnector for employees (EmId, work email, job, organisational unit, start and end date), filtered on modification date. Courses go back through the HrEmpCourse UpdateConnector; with Certificaat behaald, Geldig van and Geldig tot may be filled.
- GoodHabitz is read through the GoodHabitz API v2 with an API key in X-API-Key. GET /v2/contents (with modified_since) and /v2/deleted-contents for the catalogue; GET /v2/milestones with timestamp_since and timestamp_until (at most 7 days) for Started, Finished, TestPassed and TestFailed per organization_id, with user_id, content_id, content_type and timestamp. Rate limit 10 requests per API key and 20 per IP per 60 seconds. No endpoint for users; access through SAML 2.0 SSO.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in AFAS Profit | Field in GoodHabitz | Notes |
|---|---|---|
Medewerker (EmId) | Sleutel in de koppeling | |
E-mail werk | user_id | The user ID GoodHabitz receives when a training is launched |
Functie of organisatorische eenheid | Lid van de GoodHabitz-groep in de identity provider | |
Datum uit dienst | Uit de groep | |
content_id (terug) | Cursus in AFAS | Through a table HR maintains |
event Finished of TestPassed (terug) | Cursus medewerker (HrEmpCourse) | |
timestamp (terug) | Datum afgerond en Geldig van | |
Vaste termijn per verplichte training | Certificaat behaald en Geldig tot |
Related
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
AFAS Profit → 4PS Construct
AFAS to 4PS Construct integration: payroll journal per employer in the right 4PS company
AFAS Profit → Adobe Creative Cloud
AFAS to Adobe Creative Cloud integration: users and product profiles from AFAS Profit
AFAS Profit → AG5
AFAS to AG5 integration: employees, employments and absence from AFAS Profit in the skills matrix