Storyline 360: Custom xAPI Statements

Article Last Updated

This article applies to:

XAPI (Tin Can API) is a modern e-learning specification that's used to capture data about learning experiences as they happen in a format that's both human- and machine-readable. For example, "Lucas viewed Intro to Marketing Video."

As of November 2021, Storyline 360 lets you use triggers to define custom xAPI statements so you can track learners' activity in unparalleled detail. Read on.

Benefits of Custom xAPI Statements

XAPI statements give you a holistic view of the overall learning experience and granular insights about the specific objects learners interacted with. For example, xAPI data can help you determine which videos learners watched, the amount of time they spent on a content item, and much more. The possibilities are endless! You can then review learners' actions and make data-driven suggestions.

Another bonus is that custom xAPI statements make it easier to send the value of any Storyline 360 variable to an LMS/LRS in certain circumstances. You no longer need to assign the value of each variable to a Short Answer survey question, as described in this article, when you publish for xAPI or cmi5. Just follow these steps for building advanced xAPI statements below.

Creating Custom xAPI Statements

Learning experiences are reported and stored as activity statements in a learning record store (LRS). Note that an LRS can exist within a learning management system (LMS), or on its own (i.e., using an LMS is optional).

XAPI statements require an actor, verb, and object. Here's what each term means:

  • Actor is the info used by the LMS/LRS to identify each learner—for example, the full name and email address of a learner.
  • Verb is the action taken by the actor, as outlined in the list below.
  • Object is what the actor is acting on/interacting with.

Easily build xAPI statements in an actor-verb-object format without writing code. Here's how.

  1. In the trigger wizard, select the Send xAPI statement action.
  2. Define the verb you want the xAPI statement to display in your LMS/LRS. Click the Experienced link to browse the built-in verbs (listed below).
  3. Select the object (e.g., slide, object, or custom text) you'd like to associate the verb with.
  4. Choose when you want to send the xAPI statement to your LMS/LRS. For example, when the timeline starts on a slide.
  5. Optional: Add conditions to your trigger so it only occurs in certain circumstances.
  6. Click OK to save your changes.

Trigger wizard.

Built-In Verbs

Here's a list of built-in verbs in Storyline 360 that you can quickly select from when creating xAPI statements in the trigger wizard.

  • Abandoned
  • Answered
  • Asked
  • Attempted
  • Attended
  • Commented
  • Completed
  • Experienced
  • Failed
  • Interacted
  • Passed
  • Progressed
  • Satisfied
  • Terminated
  • Viewed
  • Waived

Pro Tips:

  • There are more xAPI verbs than are listed in Storyline 360. For a full list, visit the xAPI registry.
  • If you'd like to use an xAPI verb that isn't listed in Storyline 360, you can use the xAPI statement editor, as described below.

Building Advanced xAPI Statements

For more advanced reporting, use the built-in xAPI statement editor to customize the JSON (JavaScript Object Notation) of your xAPI statements. In the trigger wizard, just click the + xAPI link to access the editor.

xAPI statement editor window.

The editor displays your xAPI statement in JSON format, and you can use any of the available options (described below) to customize it on the spot.


Storyline 360 gives each xAPI statement a default name.

Enter a new name in the Name field, so it's easily recognizable.


Click the xAPI drop-down arrow and select any of the options that appear:

  • Verb to change the existing verb to a different one. When using the xAPI statement editor, you can use any verb that isn't listed simply by typing it into the editor.
  • Object to either add a new object property to the JSON representation of the xAPI statement or select an existing property.
  • Result to supply additional data for your xAPI statement (e.g., use elapsed time variables to track how long learners spend on an activity). This is optional.
  • Reset to change the xAPI statement back to its original state.

Communicate Storyline 360 variables to your LMS/LRS when you publish for xAPI or cmi5. Click the Variables drop-down arrow and choose any of the built-in variables that appear or create your own (e.g., build a custom variable that calculates both the total number of points for correct answers and bonus points).

And extra goodness! You can also use the elapsed time variables outside of xAPI statements. Learn more.

Note: Although we don't officially provide support for advanced custom xAPI statements, we'll do our best to help. We also have these tips:

  • If there's an issue with your advanced xAPI statements and you click OK in the editor, Storyline 360 displays an "Invalid xAPI statement" error along with the troublesome line number.
  • Use the xAPI debug tool to learn which statements fail and why.
  • Reference the official xAPI documentation for everything you need to know.


Install the Storyline 3 April 2022 update or later to restore compatibility with Storyline 360.

You can open and publish Storyline 360 project files that have custom xAPI statements in Storyline 3. However, you can't create or edit custom xAPI statements in Storyline 3.

Learn more about compatibility.