As you build your xAPI ecosystem, you’ll likely compile a number of LRSs. Developing a strategy for moving and receiving xAPI data between LRSs becomes essential, which is why our CEO TJ outlined tactical steps for doing just that during his recent xAPI Cohort presentation. To give you the keys to your kingdom, we’ve summarized his talk below and uploaded his slides into Slideshare. If you want to watch him in action, you can also view a recording of the webinar here. Want to see him in person? He’s giving a talk on xAPI at DevLearn this Friday, “xAPI 201: Move from Experimentation to Mastery.”

Where does xAPI data come from?

Before we dig into how to move xAPI data around, let’s first understand where it comes from.

xAPI data can come from:

  • Non-launched learning experiences: activities that happen outside of a browser.
  • Launched learning content: traditional eLearning courses, usually via an LMS.
  • eLearning systems: other learning systems like a next-gen learning platform.

Plenty of systems may send and receive xAPI data, including LMSs, analytics tools, gamification platforms, LRSs, mobile apps or VR/AR platforms.

And plenty of people may want to use xAPI data, including content publishers, organizations and LMS administrators. Each of these people have different goals, whether ensuring their data is completely secure or ensuring xAPI courses get into learners hands most efficiently.

How do different eLearning applications use LRSs?

Any eLearning application that supports xAPI will incorporate an LRS but each will use it in slightly different ways. Below, we’ve outlined the most common applications that include LRSs, just be aware that there are many more on the market, each with unique benefits.


LRSs at their core are intended to store xAPI data and communicate that data to other systems. They can:

  • Receive xAPI data
  • Send xAPI data

Learning analytics platforms:

Learning analytics platforms are designed to analyze xAPI data they receive.

  • Receive xAPI data
  • Send xAPI data
  • Analyze xAPI data


LMSs are used to play and track eLearning content and can often allow users to analyze the data they play.

  • Receive xAPI data
  • Send xAPI data
  • Analyze xAPI data
  • Launch xAPI activities

Mobile applications:

Mobile applications can capture xAPI data offline, store it and then send it to other systems when back online.

  • Send xAPI data
  • Store xAPI data offline

Example of moving and receiving xAPI data:

To demonstrate how one organization may move and receive xAPI data in their ecosystem, let’s consider an example organization, The Brothers Donnelly. We’ve written the steps in the text below and also uploaded screenshots of each step, which you can find in the text below, after our written summary.

The Brothers Donnelly are using Zapier and Watershed to track Slack conversations and Github commits, which they correlate to learning that happens via SCORM Cloud. Learning Locker is their “source of truth” and they send data from Watershed and SCORM Cloud to Learning Locker for future use.

Step one: set up Watershed in Zapier to track experiences that occur outside of an LMS.

To correlate Slack conversations and Github commits to learning, The Brothers Donnelly use Watershed’s Zapier integration. Zapier is an application that helps non-developers make use of public APIs of various applications (including Slack and Github) to better tie these systems together. Watershed is a learning analytics platform that helps make sense of xAPI data. Utilizing the Watershed Zapier integration, you can tie those external APIs to xAPI statement creation.

To begin, they set up an activity provider in Watershed for Zapier. They take these new Watershed credentials over to Zapier and connect the system to Watershed. Then, they define xAPI statements in Zapier, identifying which pieces of information from Slack they want to capture, such as their employee Brian’s communication. They also use Zapier to capture Brian’s commits in Github, allowing them to generate xAPI data when Brian generates code.

Step two: forward statements to Watershed from SCORM Cloud, the LMS that provides xAPI data on traditional learning content.

The Brothers Donnelly can view the LMS’s xAPI data in SCORM Cloud’s xAPI Learning Record Store. They set up xAPI credentials within SCORM Cloud and create a new statement pipe to Watershed, which allows them to forward xAPI statements to that learning analytics platform.

Step three: forward statements from Watershed to Learning Locker, the LRS that acts as the “source of truth.”

To capture all of their data in one place and future-proof their ecosystem, The Brothers Donnelly use Learning Locker to capture all data. They create xAPI credentials in Learning Locker and use these credentials to set up statement forwarding in Watershed.

The xAPI ecosystem

In the end, the final xAPI ecosystem connects multiple systems and tools, all forwarding data amongst each other. Maturing learning ecosystems are comprised of many pieces and parts, many of which are LRSs.

Takeaways for creating an xAPI ecosystem:

  • Understand that you will have multiple LRSs in your environment.
  • Don’t worry about having too many LRSs!
  • Allow xAPI to handle communication between different LRS-enabled systems that have specialties.
  • Ensure your LRS will work with xAPI by checking to see if it appears on the ADL Conformance Test Suite.


It’s possible you have questions after reading this article. Don’t sweat! Just reach out and ask us anything. If your question is one of the following below, TJ happened to answer it in his presentation, so go view the webinar to find your answer.

  • What is the pipe for connecting systems?
  • How do I ensure privacy, particularly with systems outside of my firewall?
  • If companies have trouble managing many LMSs why would they be able to manage multiple LRSs?