Skip to main content

Integrating Teach 'n Go with SAP SuccessFactors

How to connect Teach 'n Go to SAP SuccessFactors through the API — which endpoints to use, how completion is derived, and the polling pattern to follow.

Written by Abdullah Al-Hussein

Teach 'n Go does not ship a pre-built SAP SuccessFactors connector, but its REST API is designed for exactly this kind of integration. This guide explains which endpoints to use, how learner and completion data maps between the two systems, and the polling pattern your integration should follow.

How the integration works

The integration is built as a small middleware layer — typically an iPaaS such as SAP Integration Suite (CPI), Boomi, Workato or Make — sitting between the two systems. It reads and writes Teach 'n Go over JSON REST with the school's API key, and talks to SuccessFactors through the SuccessFactors OData APIs.

There are no outbound webhooks. Teach 'n Go does not push events; your middleware polls the read endpoints on a schedule and uses date filters to fetch only recent records.

Authentication

Authenticate with the school's API key. Pass it either way:

Header: X-API-KEY: <school_api_key>
Query: ?apikey=<school_api_key>

The key identifies the school. Responses are automatically scoped to that school; there is no school_id parameter. We recommend the header form: keys passed in a URL can end up in server or proxy logs. See Getting and using your API key for how to generate one.

Mapping the data

Most SuccessFactors integrations sync learners in one direction and training results in the other. Each row links to the full endpoint reference.

Data

Direction

Endpoint

Learners (employees)

SuccessFactors → Teach 'n Go

Enrolments

SuccessFactors → Teach 'n Go

Students and their classes

Teach 'n Go → SuccessFactors

Attendance records

Teach 'n Go → SuccessFactors

Grades

Teach 'n Go → SuccessFactors

Teachers and staff

Teach 'n Go → SuccessFactors

Syncing learners from SuccessFactors

  1. Create the learner as a student with the New student and class registration API.

  2. Store the SuccessFactors user id in identification_number, or in a custom field, so later polls can match records across the two systems.

  3. Enrol the student into their class with the Existing student class enrollment API, passing student_id, course_id and enrolment_date.

Duplicate and overlapping enrolments are rejected with a Student already enrolled message, so re-running a sync is safe.

Reporting completion back to SuccessFactors

There is no single completion object. Completion for SuccessFactors Learning is derived from three feeds:

  • Enrolment window — the student's enrolment_date and unenrolment_date, plus the class end date, from the Student List API

  • Attendance — per-lesson rows from the Student Attendance API, from which attendance percentage is computed

  • Achievement — the overall_grade per class from the Gradebook Grades API

Example: when a class's end date or the student's unenrolment date passes, mark the SuccessFactors learning item complete, attaching the attendance percentage and overall grade.

Polling pattern

Poll the read endpoints on a schedule — daily is enough for most completion reporting — and pass start_date and end_date so each run fetches only the period since the last one. For example:

curl -H "X-API-KEY: YOUR_KEY" "https://app.teachngo.com/globalApis/students_attendance_records?start_date=2026-06-01&end_date=2026-06-30"

Most list endpoints support pagination via per_page and page. See API error codes and pagination for the envelope and error handling.

For the full list of available endpoints, see Teach 'n Go API endpoints.

Did this answer your question?