Training and certificates
Sage People to GoodHabitz integration: completed GoodHabitz trainings as training records in Sage People
With an integration between Sage People and GoodHabitz, every GoodHabitz training an employee completes appears as a completed training on their profile in Sage People, through the Payflow upload Sage People itself provides for external training data. Your sign-in environment decides who has access to GoodHabitz; the integration makes the training history in Sage People complete.
What the integration does
Organisations that use Sage People as their HR system and GoodHabitz as their online training offering only see what HR enters itself under Training in Sage People. Completed GoodHabitz trainings are in a separate GoodHabitz report, and HR looks them up there by hand for reviews, audits and development plans.
- Access to GoodHabitz runs through single sign-on; the work email from Sage People is the ID GoodHabitz knows the employee by.
- KoppelHet fetches the milestones over the past days every day and keeps only completed trainings and passed tests.
- KoppelHet looks up the team member in Sage People for each work email and the title in the GoodHabitz catalogue.
- The completions go as a CSV file to the Payflow SFTP folder of Sage People.
- Payflow imports the file and creates new training records where needed; HR sees them on the profile under Training.
Back: Completed trainings and passed tests as training records
What to watch for with Sage People and GoodHabitz
- Sage People has its own route in Payflow to import training data from an external supplier: a CSV file on the Payflow SFTP site. Since an extension, Payflow also creates training records for team members who had none yet. KoppelHet uses exactly that route instead of writing to the database itself.
- Sage People recommends an API user with a permission set with read-only field access. KoppelHet reads team members that way, and leaves writing training records to Payflow, so the integration's API user needs no write access in Sage People.
- GoodHabitz has no users of its own in its API; a milestone carries the ID passed when the training was opened, usually the work email. KoppelHet matches on the team member's work email, so that address must be the same in Sage People and in the sign-in environment.
- In Sage People training activities are draft, active or completed, and a request can go through an approval process. KoppelHet delivers a GoodHabitz training that has already been completed directly as a completed training, so no request lands with a manager for something already done.
- GoodHabitz reports milestones for trainings, single lessons and tests. Only completed trainings and passed tests go to Sage People, so a team member's training page does not fill up with single lessons.
- GoodHabitz supplies milestones over at most seven days per request and allows ten requests per minute per key. Because Payflow works per file, KoppelHet requests an overlapping window every day and only puts completions in the file that have not been delivered before.
- Payflow only gives a service user access to team members in the HR departments they may see, when Enforce User Record Access is on. KoppelHet checks at the start that the Payflow user sees all departments with GoodHabitz users, otherwise completions are silently skipped.
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; the GoodHabitz API has no function for it. With single sign-on your sign-in environment decides who can reach GoodHabitz.
Do we need Payflow?
Yes, to import the training records. KoppelHet sets up the upload service with your Sage People admin.
Does the GoodHabitz catalogue go into the Sage People Training Library?
Not in the first version. The titles are on the completed training; putting the catalogue in the Training Library can be added later as an extension.
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 (requested from GoodHabitz support): GET /v2/milestones with timestamp_since and timestamp_until (0 to 7 days, no later than now), per organization_id with user_id, content_id, content_type and event (Started, Finished, TestPassed, TestFailed); titles and duration through GET /v2/contents. Limit 10 requests per key and 20 per IP in 60 seconds.
- Sage People: team members read through the Salesforce REST API with an External Client App (client credentials), Integration licence, Minimum Access – API Only profile and a permission set with View All and read-only fields. Training records through a Payflow upload service (CSV on the Payflow SFTP site, one direction per service, Enforce User Record Access option).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Sage People | Field in GoodHabitz | Notes |
|---|---|---|
user_id (werkadres) | Team member (via werkadres) | Must match the address in the sign-in environment |
content_id | Trainingsnaam via de GoodHabitz-catalogus (title) | |
timestamp van Started | Begindatum van de training | |
timestamp van Finished of TestPassed | Einddatum en status voltooid | |
duration (ISO-8601) | Duur van de training | Converted to hours |
event TestPassed | Opmerking toets behaald |
Related
Sage People → Active Directory
Sage People to Active Directory integration: domain accounts for the Dutch office
Sage People → ADP iHCM
Sage People to ADP iHCM integration: salary records, bonuses and leavers of the Dutch payroll company to ADP
Sage People → AFAS Profit
Sage People to AFAS integration: Dutch employees and salaries from Sage People in AFAS Profit
Sage People → Arbodienst (SIVI)
Sage People to the occupational health service via SIVI: absence records as absence reports