SAP SuccessFactors logoaNewSpring logo

Training and certificates

SAP SuccessFactors to aNewSpring integration: learners from Employee Central, completed courses as external learning events

With an integration between SAP SuccessFactors and aNewSpring, every employee in Employee Central automatically becomes a learner in aNewSpring, in their department's group and linked to their manager. When they complete a course in aNewSpring, it appears as an external learning event in their SuccessFactors Learning history.

What the integration does

Organisations with SuccessFactors Employee Central that run their own training in aNewSpring often prepare learners with an export. Employees with a global assignment or a second job then get a second account, and what was completed in aNewSpring is missing from SuccessFactors Learning, where HR reports on mandatory training.

  1. KoppelHet reads changed persons from Employee Central, with employment, job information and business email.
  2. Per person there is one learner in aNewSpring with personIdExternal as external ID, in the group of the home assignment's department.
  3. The manager from EmpJob becomes instructor, so they see their team's progress in aNewSpring.
  4. After the completing activity aNewSpring sends a webhook; KoppelHet records the course as an external learning event on the active user ID in SuccessFactors Learning.
  5. On termination KoppelHet archives the learner; results are kept in aNewSpring.
SAP SuccessFactors → KoppelHet → aNewSpringSOURCESAP SuccessFactorsTARGETaNewSpringKoppelHetmapping · logging · monitoringSAP SuccessFactors → KoppelHet → aNewSpringSOURCESAP SuccessFactorsTARGETaNewSpringKoppelHetmapping · logging · monitoring
Out: Learner with personIdExternal as external ID · Groups per department from EmpJob · Manager as instructor of their employees
Back: Completed courses with date and grade

What to watch for with SAP SuccessFactors and aNewSpring

  • For a global assignment Employee Central creates an extra employment with its own user, with assignmentClass GA next to the home assignment ST. aNewSpring has one learner per external ID. KoppelHet therefore uses personIdExternal as key and takes group and instructor from the ST assignment, so nobody gets two learning accounts.
  • SuccessFactors Learning records a learning event on the user ID, not on the person. If someone has more than one user through a rehire or second job, KoppelHet looks up the user of the employment with status active or leave, and records the completed aNewSpring course there.
  • Before the start date Employee Central only returns basic data such as name and start date for a new employee, often without a business email yet. aNewSpring requires a unique login. KoppelHet only creates the learner once the work address exists, and requests the data with the start date as reference date.
  • Besides active and terminated, Employee Central has statuses such as paid and unpaid leave. During leave the learner stays active in aNewSpring, so a mandatory course can continue after return; only at status T does KoppelHet archive them.
  • When a course is completed aNewSpring sends a CourseCompleted and a CoursePartCompleted webhook at the same time. KoppelHet only processes CourseCompleted, so SuccessFactors Learning gets one learning event per course and not one per part.
  • The grade in the webhook comes from the activity chosen at Base course grade on in the aNewSpring template. An external learning event shows no completion status in SuccessFactors Learning, so KoppelHet includes that grade and the passed result in the learning event itself.
  • SAP describes that the learning event API also returns 201 when a record was not saved. aNewSpring expects an answer to a webhook within ten seconds. KoppelHet therefore acknowledges the webhook straight away, then writes the learning event, reads the learning history back and retries itself if the learning event is missing.

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

Why personIdExternal and not the user ID as key?

A person keeps their personIdExternal, while a global assignment, second job or rehire can add a new user. That keeps the course history in aNewSpring with one learner.

Does the integration also enrol employees in courses?

Not in the first version. Groups from Employee Central can be linked to a course later as an extension; aNewSpring can enrol whole groups at once.

Do we need SuccessFactors Learning?

Not for the learners in aNewSpring. For completed courses back it is, or another place in SuccessFactors that we choose together.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Employee Central through the OData API v2 with OAuth 2.0: PerPerson with employmentNav/userNav, employmentNav/jobInfoNav (department, managerId, emplStatusNav), emailNav and personEmpTerminationInfoNav; delta on lastModifiedDateTime and startDate, customPageSize 100, asOfDate for new employees. SuccessFactors Learning through learningevent-service/v1/ExternalLearningEvents.
  • aNewSpring API with an API key: POST /addOrUpdateUser/{userID} (login, firstName, lastName, company, locale, archived), POST /initializeId/{login}/{userID} for existing learners, POST /addGroup/{groupID} and /addGroupUsers, POST /setTeacherStudents/{teacherID}. Webhook CourseCompleted with grade and passed, X-WebHook-Signature (Base64 HMAC-SHA1), response within ten seconds with 200, 201, 202 or 204.

Which fields are transferred

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

Field in SAP SuccessFactorsField in aNewSpringNotes
personIdExternaluserID (extern ID)Stays the same for global assignment, second job and rehire
PerEmail (zakelijk, primair)login
PerPersonal firstName en lastNamefirstName en lastName
EmpJob department (assignmentClass ST)Groep van het type Student met parent
EmpJob managerIdsetTeacherStudents van de leidinggevende
FOCompanycompany
emplStatus Tarchived = true
CourseCompleted: name, completeDate en gradeExternal learning event bij userId van het actieve dienstverbandReturn path to SuccessFactors Learning

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.