Skip to main content

Earlier this year, Articulate introduced a wealth of new features into Storyline 360 which makes it quicker and simpler for eLearning developers to write xAPI statements in order to capture better learning analytics though an LRS platform. But how do we actually put this into practice? Can we design a cost-effective LRS system that is tailored to only capture the useful analytical information, important to us as learning facilitators, and make this easily indexable and searchable in order to view the results at any time?

The answer to all of these questions is YES, with the help of WordPress and Tin Canny Reporting by Uncanny Owl, and in the latest episode of our popular Articulate Storyline 360 Magic Series on Youtube we are going to show you how it can be achieved step-by-step!

We will start by exploring what options are now available to us in Articulate Storyline 360 through the new Send xAPI Statement trigger. We will use this to design our own custom statement which will send information to an LRS following completion of a survey-style activity. We will then see how we can use Tin Canny Reporting built into a bespoke WordPress website in order to capture and report on that information.

Here is the latest episode to watch right now:

You can read the written transcript for this episode of our Storyline Magic Series here:

Hello this Chris from Discover eLearning, and welcome to episode five of our Storyline Magic Tutorial Series for Articulate Storyline developers.

In this episode I’m going to cover some of the new custom xAPI statement features that were added into Storyline 360 earlier this year, and see how we can use these features in a practical way to create a mood diary for learners which I can run reports on using my own customised learning record store.

If you are completely new to xAPI and want to expand your knowledge on what it can be used for, and how xAPI statements are composed, then arguably the very best place you can visit is Devlin Peck’s website, which is at

Devlin himself has spent a great amount of time and careful attention to detail writing a full tutorial series that covers everything an eLearning developer needs to know about xAPI, from creating your first statement in Storyline from scratch, the definitions of all properties, verbs and activities, and many real-world example statements that help to explain the right way to compose your own xAPI statements.

We’ll be using some of the guidance found in Devlin’s own tutorial course for our Storyline Magic Series video today.

Let’s start by building our activity. Here you can see I’ve created a simple slide that contains a text entry field and a button, and when clicked this is set to show a new layer that displays a confirmation message to the user.

I’m going to now create an xAPI statement that is designed to bring the user’s response to this question into our learning record store. To do this I’ll create a new trigger that will ‘Send an xAPI statement’ when the user clicks on the button.

You can see that Storyline provides a number of predefined verbs to select from when designing our statement, and in my case I am going to choose Answered as this is the typical verb to use when we are reporting on a quiz question response.

If we click on the xAPI link found just below this dropdown box, you will see that Storyline has already done the job of building our statement for us with some pre-defined values such as our verb, the object, which is an activity with a name that is dynamically set to be our project slide title – so in my case this will be set as ‘How Do You Feel?’

This is a great start but there are some additional details that I want to include within this xAPI statement whenever a user answers the question on screen, and most importantly I want the response written by the learner themselves to be included in the statement.

To do that, I am going to add a comma to the end of the closing bracket for the last object code snippet so that I can create a new object for the activity result.

To do that I can click on the xAPI dropdown link at the top of this Storyline window and select result.

This adds the result object code snippet along with a duration property which is being dynamically brought in from Storyline based on how long the user has stayed on the slide.

So the first set of property values that we would typically want to include within the result object are the score value (and sub values), so even though in my case a numeric or percentage score value is not very important, I will still go ahead and include these values within my statement just to denote that the user has successfully answered the question.

I’m then going to assign two more properties to the result object, which are success (which we will say is true), and response, which we can dynamically assign as the answer given by the user to the question by clicking on the variables button and selecting our text variable name from the list.

You may need to add quotation marks around the variable name to ensure the statement format is correct.

This xAPI statement now contains all objects and property values that I want to pass into my learning record store when the activity is completed by a learner. So I’ll click the OK button and publish the project, making sure that we are publishing to LMS LRS, and the report to an LMS option is ticked with xAPI selected in the dropdown box.

Be sure to also save the activity to a ZIP file when you get to this screen.

Now we should go ahead and test our activity to ensure that the xAPI statement definitely works and contains all of the information needed. To do this I would highly recommend creating an account on SCORM Cloud, which is Free for a basic testing account needed to upload and test SCORM packages.

I’ll go ahead and upload my published ZIP file and launch the activity. This will appear in a new window, and I can answer the question that I’ve set up.

So if this has worked correctly, the xAPI statement should have been sent into the learning record store containing the value that I just typed. We can check this out by closing down the activity window and scrolling on this page until we find the xAPI statements panel.

Right here is the Answered statement that I had created, with the score set to 100% as expected. If I click into the xAPI Statement viewer page I’ll be able to look at the full statement list that was passed into the LRS from Storyline. As you can see along with some of the other values that Storyline has transmitted I have my custom statement data which includes the result object and the response property that contains the value that I had typed.

So it’s good to see that the activity itself is working and transmitting xAPI data as I would like, but now I’m ready to set up my own customised learning record store so that I can both make the activity available to learners within an LMS, and be able to report on the responses that they give over time, and you may be wondering what the best way is for doing this…

Well within my own business we specialise in the development of bespoke digital learning platforms built using WordPress, as there are many amazing learning management solutions available for developers to work with including LearnDash which is a fully-fledged learning management system solution, and Tin Canny Reporting which is an all-in-one Learning Record Store system built to work entirely within WordPress.

So with these two solutions installed on my site I can go ahead and setup a basic online course with a module page containing my Storyline activity which I can then give access to my learner group.

Once someone has completed the activity, like I’ve just done here, I as the site admin can log into the platform and we can now take a look at the LRS reporting screen provided by Tin Canny.

So right here on the Tin Canny Reporting screen, xAPI Quiz Report tab, I can generate a report by using these dropdown boxes to filter by course and module. I’ll leave these other date range filter options blank for now and hit the search button.

My report is ready and the table that’s shown contains a row for each user that has answered the question in my Storyline activity, along with the response that they gave which has been pulled into the report by the custom xAPI statement that we wrote in Storyline.

As time goes on and users retake the activity to log their current mood, I can use the User search box to filter by any specific user that I want to generate a report for. Plus I also have the option to Export to CSV, which all together makes WordPress a fantastic option for developing your own combined LMS and LRS system.

If you’re interested to learn more about any of the things you have just seen about WordPress, LearnDash, or using Storyline to create your own online learning experiences delivered using WordPress, then feel free to get in touch with me using the address shown on screen.

Thank you for joining us for another episode of our Storyline Magic Series. Please be sure to like this video and subscribe to the Discover eLearning YouTube Channel for notifications of future episodes. Bye for now!

Chris Hodgson

Chris Hodgson is an award-winning Digital learning Solutions Developer and Director of Discover eLearning Ltd. He supports organisations of all sizes to implement engaging, meaningful, and impactful eLearning solutions. Chris has 15 years’ experience working in both private and public sector learning and development.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.