disabled
Back to Udemy

Sign in
English (United States) Deutsch Español Français (France) 日本語 한국어 Português 简体中文
  • Sign in
  • English (United States) Deutsch Español Français (France) 日本語 한국어 Português 简体中文
Search for solutions
Student Topics
Instructor Topics
Udemy Business Topics
Read article
Combined Results
Do these help?
What's this?
Udemy Business
If you need assistance, please reach out to {{HREF}}
See all {{COUNT}} articles
  1. Udemy Business
  2. Admin
  3. Supporting My Users

Udemy Business Integration: xAPI Statements

This article outlines the xAPI progression and completion statements Udemy Business sends to a third party LMS/LXP.

  • To learn how to configure the integration, please review Udemy Business Integration: xAPI.

Note: LMS/LXP integration is only available with the Enterprise Plan.

Authorization

Supported Statements

Udemy Business will be sending the following verbs:

Course Statements:

  • Progress Event: Tracks the learner’s progress within a specific course.
  • Completion Event: Records the completion of a course by the learner.

Learning Path Statements:

  • Progress Event: Captures the learner’s progress across a series of learning content within a designated learning path.
  • Completion Event: Indicates the learner has completed all learning contents within a learning path.

All these xAPI statements are transmitted to the LMS/LXP system in near real-time as events occur, ensuring timely updates on learner activities and achievements.

Note that learning paths can include various types of content, some of which include Udemy courses, custom courses, portions of Udemy courses, links to articles, external video, podcasts, a wiki page, etc. For accounts that include Udemy Business Pro, there is also the option to add an assessment or lab to the learning path.

Actor

By default, the actor in the xAPI statement will be identified using the mbox (ie. email) property. However, some LMS/LXP systems do not require email for learners to access their systems. Hence, there is also support for identifying the actor using an account object. However, for the account object to be used as an identifier, the LMS/LXP should pass an lmsUserID of the learner to Udemy Business as part of the SSO handshake. Please refer to this Help Center article on configuring lmsUserID as part of SSO.

Example of an actor identified using mbox object: 

mbox_object.png

Example of an actor identified using account object: 

account_object.png

The LMS/LXPs for which we’ll be sending an account object as actor identifier by default are as follows:

  • SumTotal LMS

For the Udemy Business xAPI integrated LMS/LXPs not listed above, Udemy will send  the mbox identifier by default.

Verb

Course statements

Progressed

The progress statement will be used to send the learner’s progress within a course. The progress is calculated based on the ratio of completed lectures to the total number of lectures within the course. For example, if a course contains 4 lectures that are 30 mins, 40 mins, 50 mins and 60 mins long respectively and the learner completes the first lecture, then the progress will be recorded as 25% (1/4). The duration of each lecture will not be considered for the calculation of the progress percentage.

The progress percentage will be passed within the result object with the completion attribute set to false and the percentage represented as a scaled score between 0 and 1.

Below is a sample course progressed statement:

Completed

The completion statement will be used to send the learner's completion of the course. Similar to the progress statement, the completion statement will contain a result object that would have the completion attribute set to true and the scaled score set to 1 to indicate 100% completion.

Below is a sample course completion statement:

Learning Path Statements

Progressed

The progress statement will be used to send the learner’s progress within a learning path. The progress is calculated based on the ratio of completed learning content to the total number of learning content within the learning path. For example, if a learning path contains 5 courses, 2 links and 3 course portions, the learner completes 3 courses and 2 links then the progress will be recorded as 50% (5/10). The duration of each content will not be considered for the calculation of the progress percentage.

The progress percentage will be passed within the result object with the completion attribute set to false, and the percentage represented within extension objects with a scaled score between 0 and 100.

Below is a sample learning path progressed statement:

Completed

The completion statement will be used to send the learner's completion of the learning path. Similar to the progress statement, the completion statement will contain a result object that would have the completion attribute set to true and the scaled score set to 100 to indicate the completion.

Below is a sample learning path completion statement:

Object

Course object

The object of the statement will be of type Course and the id of the activity will be set to the course URL to uniquely identify a course object. Below is an example of an UB course passed as an object:

Learning Path object

The object of the statement will be of type Collection and the id of the activity will be set to the learning path URL to uniquely identify a learning path object. Below is an example of an UB learning path passed as an object:

For SumTotal LMS/LXP integration, ID field starts with organization’s subdomain info which is sumtotaldemo as seen in the following sample.

The object of the statement will be of type Course and the id of the activity will be set to the course URL to uniquely identify a course object. Below is an example of a Udemy Business course passed as an object:

ub_course_passed_as_an_object.png

Note: To reference the object's activity id from the xAPI statement to the appropriate course in the course API payload, a new attribute xapi_activity_id has been added to the course API.

Note: xAPI statements for SuccessFactors and Cornerstone OnDemand integrations will look different than the examples provided above.

Error Handling - Retry Logic

When sending the event to the LMS/LXP fails, Udemy Business will retry any failed statements twice per day for a period of 5 days.

Was this article helpful?
0 out of 1 found this helpful

Related articles

  • Udemy Business Integrations: xAPI
  • Udemy Business Web APIs: Use cases and best practices
  • Udemy Business LMS and LXP integration partners
  • How to Find Your Rest API Credentials in Udemy Business
  • How to Assign an lmsUserID to Learners in Udemy Business
Contact Us

Related articles

  • Udemy Business Integrations: xAPI
  • Udemy Business Web APIs: Use cases and best practices
  • Udemy Business LMS and LXP integration partners
  • How to Find Your Rest API Credentials in Udemy Business
  • How to Assign an lmsUserID to Learners in Udemy Business

Need Help?

Contact Us
'Udemy Business Learning Management System Integration: xAPI Statements','localize-urgently',
English (United States) Deutsch Español Français (France) 日本語 한국어 Português 简体中文
  • Udemy.com
  • About us
  • Events
  • News
  • Investor Relations
  • Careers
  • Terms & conditions
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2025 Udemy, Inc.
true