Storyline and custom TinCan API statements

Jan 03, 2017

Hey all,

I've been struggling to find any information regarding customizing TinCan Api statements. I found this thread:

But when I chimed in it, I was informed that the thread out "out of date". So I am creating a new thread in order to discuss this. My issue with the thread is that there are no .story samples to view and learn from. Just a bunch of vague javascript code and a lot of assumptions on the knowledge of the readers. 

So I want to break this down and have a step by step instructions for real novices with this stuff.

So if one of you genius's can setup a .story, with executable javascript, something very simple, and have it spit out on the LRS side some variables we can follow and record. For example, a button that that has been clicked, or a layer that has been visited. So when we look at the LRS we can see if the user click on the button or visited the layer. Or something similar.

Let's help the community together!! Challenge has been made :)

P.S. I use Articulate 360 now, but Storyline 2 is fine. Also using Scorm Cloud for an LMS/LRS.

24 Replies
Norm Cousineau

Hi all,

A while ago I posted a sample for sending custom TinCan statements to an LRS. See:

Find "" on that page. I don't have Storyline anymore, so I can't look at the sample...but if memory serves, it should be a good template.


Ros McNamee

Yes Norm, that's the link I have above. I have been dissecting it a lot. The issue is not having a working .story sample. Seeing output doesn't help much because simply, we can't see how it is done.

I just see a lot of assumptions on people's knowledge, ironically exactly what SMEs tend to do. Nothing in that thread is simple. Where gaps are, its simply assumed people know, or "go read this 300 page document", which has no relevance to Articulate Storyline.

A lot of gaps need filling. Do this day we still have no step by step instruction on custom TinCan statements inside of Articulate Storyline. So much so that staff can't help either. I'm sure even Leslie here is dying to find out :)

I'm still working on it myself, hopefully someone can chime in or I will figure this out on my free time.

Ros McNamee

I have to reopen this thread. 

Using ScormCloud doing the same techniques, I cannot seems to get this to work anymore. I'm using the same files, but ScormCloud has been updated and I feel like it has screwed up these custom statements in Articulate Storyline.

Does anyone have any luck reproducing custom TinCan statements? I am now at a complete loss....

Tanmay Ghosh


I am publishing my Articulate Storyline 360 course in LMS: TinCan API standards. The course has custom xAPI statement using javascript, that sends data to Watershed LRS. If I publish the course in SCORM 1.2, everything works. If I publish to TinCan API, then there is no connectivity to the LRS. On debugging, it shows bad request server error (400). I am testing the course in SCORM Cloud. Has anyone used custom TinCan statement in Storyline course (to an LRS) and published the course in TinCan API standards with success?

This discussion is closed. You can start a new discussion or contact Articulate Support.