UKG Pro logoGoodHabitz logo

Training and certificates

UKG Pro to GoodHabitz integration: GoodHabitz trainings as courses in UKG Pro and completed training as participation

With an integration between UKG Pro and GoodHabitz, every GoodHabitz training is a course in UKG Pro, and every training completed or passed then appears as a participation with result and score on the right employee in UKG Pro. Who may use GoodHabitz follows UKG Pro through your sign-in environment.

What the integration does

Organisations with UKG Pro as HR system and GoodHabitz as online training offering do not see in UKG Pro what employees learn at GoodHabitz. HR pulls reports from GoodHabitz and records mandatory training by hand, or leaves it out of the personnel files.

  1. KoppelHet registers GoodHabitz once as an external learning platform in UKG Pro.
  2. Every training from the GoodHabitz catalogue becomes a course with one ongoing session in UKG Pro.
  3. Access to GoodHabitz runs through single sign-on; the sign-in environment follows hire and termination from UKG Pro.
  4. KoppelHet fetches completed trainings and tests, period by period, and looks up the employee in UKG Pro by work email.
  5. Every completion becomes a participation with status, result, score and date, in one call together with other completions.
UKG Pro → KoppelHet → GoodHabitzSOURCEUKG ProTARGETGoodHabitzKoppelHetmapping · logging · monitoringUKG Pro → KoppelHet → GoodHabitzSOURCEUKG ProTARGETGoodHabitzKoppelHetmapping · logging · monitoring
Out: GoodHabitz trainings as a course with a session · Removed trainings, made invisible in UKG Pro · Access to GoodHabitz through the sign-in environment
Back: Completed trainings with completion date · Tests with result PASSED or FAILED and score

What to watch for with UKG Pro and GoodHabitz

  • According to its own description, the UKG Pro Learning Courses API is write-only. KoppelHet therefore cannot look up in UKG Pro which GoodHabitz trainings already exist, and keeps its own record of which courseId belongs to which GoodHabitz training.
  • A course in UKG Pro must refer to an external learning platform. KoppelHet records GoodHabitz once as that platform and puts the GoodHabitz content ID in externalCourseId, so HR can see in UKG Pro where a course comes from.
  • A participation in UKG Pro needs a session, a due date and a completion date besides person and course. GoodHabitz trainings have no sessions; KoppelHet creates one ongoing session per course and also uses the completion date as due date.
  • GoodHabitz reports Finished, TestPassed and TestFailed, with a test score from 0 to 100. UKG Pro only knows PASSED and FAILED as result and a score as a whole number, so the GoodHabitz result fits without conversion; a completion without a test gets no result.
  • GoodHabitz gives the duration as ISO text such as PT45M. UKG Pro counts study load in CEU, minutes or hours. KoppelHet converts the duration to minutes, so HR can add up in UKG Pro how much time a team spends on training.
  • UKG Pro can create many participations in one call and then returns 207 if part of them fails. KoppelHet bundles the completions of a period, reads the outcome per line and only queues the failed lines again.
  • When GoodHabitz removes a training from its offering, KoppelHet sets the course in UKG Pro to not visible and not active instead of deleting it. Earlier participations thus stay in the employee's file.

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

No, the GoodHabitz API cannot do that. Access runs through single sign-on, and who may sign in there follows UKG Pro.

Do started trainings also go to UKG Pro?

Not in the first version: only completed trainings and tests. Progress of ongoing trainings can follow later as an extension.

What if an employee has already left when GoodHabitz reports a completion?

KoppelHet also searches leavers by work email. If it finds nobody, it reports the completion to HR instead of discarding it.

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 (modified_since), /v2/deleted-contents, /v2/milestones and /v2/progress (test_score), per organisation. Time window 0 to 7 days; 10 requests per minute per key and 20 per IP address. No endpoint to create users; access through SSO.
  • UKG Pro Learning Courses API (write-only) with a JWT bearer token from the UKG OIDC provider and the global-tenant-id header: POST /v1/learning/courses (externalLms required, externalCourseId, creditType, url, isVisible, isActive), POST /v1/learning/course-sessions (course required) and POST /v1/learning/course-participants/multi-create (person, course, courseSession, status, dueDate, completionDateTime required; result PASSED or FAILED, score; 207 on partial success).
  • Employees through the UKG Pro Personnel API employee-changes (at least three hours between calls; emailAddress, personId, employeeId, terminationDate) with a service account and the US-Customer-Api-Key.

Which fields are transferred

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

Field in UKG ProField in GoodHabitzNotes
content idexternalCourseIdKoppelHet also stores the UKG courseId
title en descriptiontitle en description
duration (ISO-8601, bijvoorbeeld PT45M)creditType MINUTES en creditValue
launch_urls.web.completeurl
localization.languagedefaultLocaleCode
user_id (werkadres)personThrough emailAddress from employee-changes
Finished, TestPassed, TestFailedstatus, result PASSED of FAILED
test_score (0 tot 100)score
timestampcompletionDateTime
deleted-contentsisVisible en isActive false

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.