(Last Updated: June 22, 2018)

Even if you don’t have an LMS, you can still use ActivePresenter to create the course and send the report data (course result) to an HTTP address. You can use this method to send the report to your server and process the report data in your own way. The report formats are in XML or JSON format. In the case of you don’t have a web server, you can send the report data to a Google Sheets document or to an email instead. Now I will show you the steps to send report data to Google Sheets or to an email by using Google Apps Script. I am not showing more detail about Google Apps Script here, but you can learn more about using Google Apps Script here https://developers.google.com/apps-script/

  1. First, create a Google Sheets document to receive the report data. Here I created a sample Google Sheets to receive data. As you can see the header columns of the first row is the field of report data. You can view the document here:https://docs.google.com/spreadsheets/d/17jfxPfA6rYxNPJNB2mBNa0EqZg8o7E7eetENWQrg9a4/edit#gid=0
  2. Next, create Google Script and adding code to process report data which send from user. This is sample code that I am using to insert data to Google Sheets and send report data via email.
    • From Google Sheets menu go to Tool -> Script Editor…
    • Add the following code:
      var TO_ADDRESS = “namnt@atomisystems.com”; // Email to receive the report data
      function doPost(e) {
      try {
      var report = JSON.parse(e.parameter.report);// Insert report data to Google Sheets
      var doc = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = doc.getSheets()[0]; // get the first sheet
      var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
      var nextRow = sheet.getLastRow()+1; // get next row
      var row = [ new Date() ];
      // loop through the header columns
      for (var i = 1; i < headers.length; i++) { // start at 1 to avoid Timestamp column
      if(headers[i].length > 0) {
      row.push(report[headers[i]]); // add data to row
      sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);// Send report data via email
      to: TO_ADDRESS,
      subject: “Report Data” + ” – ” + report.Name,
      htmlBody: JSON.stringify(report)

      return ContentService // return json success results
      “data”: JSON.stringify(report) }))
      } catch(error) { // if error return this
      return ContentService
      .createTextOutput(JSON.stringify({“result”:”error”, “error”: e}))

  3. Next, publish the script as web app.
    • Go to Publish menu -> Deploy as web app…
    • The publish options are:
      • Execute the app as “Me” (the email of the course author)
      • Who has access to the app: Anyone, even anonymous can access.
    • Follow the instructions to finish deploying app. At the final step, please copy the web app URL to put into ActivePresenter reporting option.
  4. Finally, in reporting options in ActivePresenter, put web app URL above to HTTP address and remember to select JSON format for report data.

Now, each time learners finish their courses, the report data will be inserted to Google Sheets and a report will be sent to your email address. You should improve the code to make the report looks better.

Start creating interactive elearning contents with ActivePresenter now!

ActivePresenter Pro EDU


ActivePresenter Pro