Webhooks Events

Track platform events via webhooks

Last Updated

September 28th, 2020

Docebo Module

API

Reading Time

29 min

User Level

Introduction

In Docebo, you can create webhooks to trigger once an event occurs in your platform, sending you information about that event to a specific Payload URL. This allows you to collect data from your learning platform to build reports, integrations, dashboards and more. You can also connect to your HCM, email non-LMS users about actions that occur in the platform or update your CSM.

Refer to this article on how to activate the Webhook functionality and on how to create and manage webhooks. 

This article lists all of the events that can be tracked via webhook, including a detailed description of the payload. Events are divided into areas, for better understanding.

Events Triggering

The events managed by the Webhooks app are fired according to the platform main logic. They can be triggered by the user through the platform interface, and by APIs. Please note that the same action may trigger different events, because of the platform built-in logic, so remember to check your use cases for a proper webhook configuration.

As an example, you have created a webhook including the following events:

  • Enrollment has been updated (event name: course.enrollment.updated)
  • Learner completed course (event name: course.enrollment.completed)

If the user enrollment status is set to completed, the triggered event will be course.enrollment.completed and not course.enrollment.updated, despite the fact that the action triggering the event is an update.

Events Common Properties

Every event tracks specific details, but all of them have the following common properties:

  1. message_id – a unique message id to identify the webhook
  2. event – the event name that triggered the webhook
  3. fired_by_batch_action – true if the event has been fired during a batch API call, false otherwise
  4. fired_by_background_job_hash – background job alphanumeric unique identifier, it is displayed only when the event is generated by a background job.
  5. payload – depending on the event, a different payload containing different info

If you have activated the Payload Collection option, when webhooks include more than one event, the payload webhook common property turns into payloads, indicating that the message includes more events. If you enable the payload collection feature, make sure that your endpoint system is ready to receive webhooks with two different structures.

Here follows an example of single payload, triggered because a user has been deleted:

{
  "message_id": "wh-638ce960-1363-11e9-a15d-d1c47c8f7593",
  "event": "user.deleted",
  "fired_by_batch_action": false,
  "payload": {
    "user_id": 12301,
    "deletion_date": "2019-01-08 16:35:05",
    "fired_at": "2019-01-08 16:35:05"
  }
}

Here follows an example of payload collection, triggered because three users have been deleted from the platform, with a single process:

{
 "event": "user.deleted",
 "fired_by_batch_action": false,
 "message_id": "wh-d2f70d80-ab24-11ea-8467-5972fffe49aa",
 "payloads": [
   {
     "fired_at": "2020-06-10 14:15:18",
     "user_id": 13366,
     "deletion_date": "2020-06-10 14:15:18"
   },
   {
     "fired_at": "2020-06-10 14:15:18",
     "user_id": 13369,
     "deletion_date": "2020-06-10 14:15:18"
   },
   {
     "fired_at": "2020-06-10 14:15:18",
     "user_id": 13376,
     "deletion_date": "2020-06-10 14:15:18"
   }
 ]
}

The details included in each event are the same, independently from whether it is a single event or a payload collection. The webhook structure changes depending on whether the payload includes one or more events.

Also, note that some events include the user_id property to track the user performing or involved in the action tracked by the webhook. When Superadmins impersonate other users, the tracked user_id is the ID of the impersonated user.

Events

Here follows the list of available events, divided into areas:

Assets

Background Jobs

Branches

Channels

Courses

Enrollments

ILT Sessions

Learning Plans

Training Materials

Transactions

Users

Webinar

Asset had been deleted – contribute.deleted

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • id – asset ID
  • title – asset title

Asset has been updated – contribute.updated 

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • id – asset ID
  • title – asset title
  • type – asset type. Possible values are: video, document, excel, power-point, pdf, text, other, image, audio, archive, link, drive-document, drive-sheet, drive-slide, playlist, youtube, vimeo, wistia
  • visibility – asset visibility. Possible values are: public, private
  • published – asset publication status
  • extra_data – extra data section
    • description – asset description
    • tags – asset tags, both manually inserted and automatically generated by the platform artificial intelligence
      • id – tag ID
      • text – tag value
    • channels – channel(s) where the asset has been loaded

Asset has been uploaded – contribute.created 

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • id – asset ID
  • title – asset title
  • type – asset type. Possible values are: video, document, excel, power-point, pdf, text, other, image, audio, archive, link, drive-document, drive-sheet, drive-slide, playlist, youtube, vimeo, wistia
  • visibility – asset visibility. Possible values are: public, private
  • published – asset publication status
  • extra_data – extra data section
    • description – asset description
    • tags – asset tags, both manually inserted and automatically generated by the platform artificial intelligence
      • id – tag ID
      • text – tag value
    • channels – channel(s) where the asset has been loaded

Invitation to watch deleted – contribute.watchinvitation.deleted

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • id_asset – asset ID
  • invitations – users invited to watch
    • users – IDs of the users no longer invited to watch
  • channels – channel(s) where the asset has been loaded

Background job aborted – bj.aborted

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • job_hash – background job alphanumeric unique identifier

Background job completed – bj.execution.completed

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • job_hash – background job alphanumeric unique identifier
  • errors_count – if the background job ended with errors, the number of errors occurred

Background job created – bj.created

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • job_hash – background job alphanumeric unique identifier
  • name – background job name, automatically assigned by the platform
  • endpoint – the API that will be used for the scheduled background job
  • method – the method used in the API call

Background job deleted – bj.deleted

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • job_hash – background job alphanumeric unique identifier

Background job execution started – bj.started

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • job_hash – background job alphanumeric unique identifier

Branch has been created – branch.created

  • branch_id – ID of the created branch
  • parent_id – ID of the branch into which the new branch has been created
  • code – Code of the new branch, or an empty string
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss.

Branch has been deleted – branch.deleted

  • branch_id – ID of the deleted branch
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

Branch has been updated – branch.updated

  • branch_id – ID of the created branch
  • parent_id – ID of the branch into which the branch has been moved. Not present if the branch has not been moved
  • code – New code of the branch, can be an empty string. Not present if the code has not been changed.
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User assigned to a branch – branch.user.added

  • user_id – ID of the user added to the branch
  • branch_id – ID of the branch to which the user has been added
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User removed from a branch – branch.user.removed

  • user_id – ID of the user removed from the branch
  • branch_id – ID of the branch from which the user has been removed
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

Channel created – channel.created

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • channel_id – ID of the newly created channel
  • title – channel name
  • language – channel language
  • upload_permissions – who is allowed to upload content in the channel. Possible values are: everyone, peer_review, experts_only
  • enabled – whether the channel is shown or not. Possible values are: true, false
  • creation_date – channel creation date in UTC with the following format YYYY-MM-DD HH:mm:ss
  • extra_data – extra data section
    • description – channel description
    • visibility – channel visibility
      • all – channel is visible for all users
      • groups – channel is visible for the selected groups
      • branches – channel is visible for the selected branches
        • id – branch ID
        • descendants – branch descendants included or not

Channel deleted – channel.deleted

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • channel_id – ID of the deleted channel
  • title – channel name
  • language – channel language
  • upload_permissions – who is allowed to upload content in the channel. Possible values are: everyone, peer_review, experts_only
  • enabled – whether the channel is shown or not. Possible values are: true, false
  • deletion_date – channel deletion date in UTC with the following format YYYY-MM-DD HH:mm:ss
  • extra_data – extra data section

Channel expert added – channel.expert.added

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • user_id – expert ID
  • channel_id – ID of the channel associated with the expert
  • extra_data – extra data section

Channel expert removed – channel.expert.removed

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • user_id – expert ID
  • channel_id – ID of the channel associated with the expert
  • extra_data – extra data section

Channel updated – channel.updated 

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss.
  • channel_id – ID of the updated channel
  • title – channel name
  • language – channel language
  • upload_permissions – who is allowed to upload content in the channel. Possible values are: everyone, peer_review, experts_only
  • enabled – whether the channel is shown or not. Possible values are: true, false
  • update_date – channel update date in UTC with the following format YYYY-MM-DD HH:mm:ss
  • extra_data – extra data section
    • description – channel description
    • visibility – channel visibility
      • all – channel is visible for all users
      • groups – channel is visible for the selected groups
      • branches – channel is visible for the selected branches
        • id – branch ID
        • descendants – branch descendants included or not

Course created – course.created

  • course_id –  ID of the course
  • name – name of the course
  • type – the type of course. It can be “elearning”, “classroom”, “webinar”
  • code – code of the course (it can be empty or null)
  • creation_date – date of the creation (in YYYY-MM-DD hh:mm:ss UTC)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss.
  • start_date – course start date
  • end_date – course end date
  • language – course language
  • duration – course duration, expressed in seconds 
  • extra_data – extra data section
    • self_enrollment_policy – type of self-enrollment currently set. Possible options are: “disabled”, “admin_approval”, “free”
    • self_unenrollment_policy – self-unenrollment setting. Possible values are: “disabled”, “on_course_not_completed”, “even_on_course_completed”
    • allow_session_self_unenrollment– whether the user can self-unenroll from the course session
    • course_rating_permission: identifies if the user is allowed to rate the course. Possible values are: “disabled”, “always”, “if_enrolled”, “on_completion”
    • credits: number of credits assigned to course
    • description: course description
    • provider: course CSP, needed only when the course has been imported from an external catalog

Course deleted – course.deleted

  • course_id –  ID of the course
  • name – name of the course
  • type – the type of course. It can be “elearning”, “classroom”, “webinar”
  • code – code of the course (it can be empty or null)
  • deletion_date – date of the deletion (in YYYY-MM-DD hh:mm:ss UTC)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss.
  • start_date – course start date
  • end_date – course end date
  • language – course language
  • duration – course duration, expressed in seconds

Course properties have been changed – course.updated

  • course_id –  ID of the course
  • name – name of the course
  • type – the type of course. It can be “elearning”, “classroom”, “webinar”
  • code – code of the course (it can be empty or null)
  • update_date – date of the update (in YYYY-MM-DD hh:mm:ss UTC)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss.
  • start_date – course start date
  • end_date – course end date
  • language – course language
  • duration – course duration, expressed in seconds
  • extra_data – extra data section
    • self_enrollment_policy – type of self-enrollment currently set. Possible options are: “disabled”, “admin_approval”, “free”
    • self_unenrollment_policy – self-unenrollment setting. Possible values are: “disabled”, “on_course_not_completed”, “even_on_course_completed”
    • allow_session_self_unenrollment– whether the user can self-unenroll from the course session
    • course_rating_permission: identifies if the user is allowed to rate the course. Possible values are: “disabled”, “always”, “if_enrolled”, “on_completion”
    • credits: number of credits assigned to the course
    • description: course description
    • provider: course CSP, needed only when the course has been imported from an external catalog

The course has been marked as outdated – content.markedoutdated

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss
  • course_id – ID of the rated course
  • user_id – ID of the user who rated the course
  • number_of_reports – number of times the course has been marked as outdated

User has rated a Course – course.rating.updated

  • fired_at – date and time of the moment the event has been fired in UTC with the following format YYYY-MM-DD HH:mm:ss
  • course_id – ID of the rated course
  • user_id – ID of the user who rated the course
  • user_rating – rating value
  • average_rating – average course rating, including the current user rating
  • number_of_votes – number of ratings received by the course

Enrollment has been updated – course.enrollment.updated

  • user_id – ID of the user enrolled
  • course_id – ID of the course to which the user is enrolled
  • status – A string that represents the new enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • level –  user level in the course, possible values are: learner, instructor, tutor
  • enrollment_date – date when the enrollment was recorded in UTC in YYYY-MM-DD HH:mm:ss
  • enrollment_date_begin_validity – date when the enrollment validity starts, in UTC in YYYY-MM-DD HH:mm:ss
  • enrollment_date_end_validity – date when the enrollment validity starts, in UTC in YYYY-MM-DD HH:mm:ss
  • subscribed_by_id – ID of the user enrolling the user identified by the user_id parameter
  • extra_data – extra data section
    • score – user score in the course
    • additional_fields – enrollment additional fields
      • language: course language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

ILT session enrollment updated – ilt.session.enrollment.updated

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • user_id – ID of the user
  • course_id – ID of the course
  • session_id – ID of the ILT session associated with the course
  • level – the enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – date of the enrollment
  • enrollment_date_begin_validity – start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – end of the validity period (it can be null)
  • subscribed_by_id – ID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status – enrollment status. Enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”.
  • extra_data – extra data section
    • additional_fields – enrollment additional fields
      • language: course language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

Learner completed course – course.enrollment.completed

  • user_id – ID of the user
  • course_id – ID of the course
  • completion_date – date of the completion
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • level –  user level in the course, possible values are: “learner”, “instructor”, “tutor”
  • subscribed_by_id – ID of the user enrolling the user identified by the user_id parameter
  • status – enrollment status, possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”
  • enrollment_date – date when the enrollment was recorded in UTC in YYYY-MM-DD HH:mm:ss
  • enrollment_date_begin_validity – date when the enrollment validity starts, in UTC in YYYY-MM-DD HH:mm:ss
  • enrollment_date_end_validity – date when the enrollment validity ends, in UTC in YYYY-MM-DD HH:mm:ss
  • extra_data: extra data section
    • total_time – time spent by the user on the course
    • score – user score in the course
    • additional_fields – enrollment additional fields
      • language: course language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

User enrolled in ILT session – ilt.session.enrollment.created

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • user_id – ID of the user
  • course_id – ID of the course
  • session_id – ID of the ILT session associated with the course
  • level – the enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – date of the enrollment
  • enrollment_date_begin_validity – start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – end of the validity period (it can be null)
  • subscribed_by_id: ID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status – enrollment status. Enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”.
  • extra_data – extra data section
    • additional_fields – enrollment additional fields
      • language: course language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

User enrolled in a course – course.enrollment.created

  • user_id – ID of the user
  • course_id – ID of the course
  • level – the enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – date of the enrollment
  • enrollment_date_begin_validity – start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – end of the validity period (it can be null)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • subscribed_by_id: ID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status -enrollment status. Enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”.
  • extra_data – extra data section
    • score – user score in the course
    • additional_fields – enrollment additional fields
      • language: course language
      • list
        • id – additional field ID
        • name – additional field name,  in the platform default language defined in the Localization Tool
        • value – additional field value

User enrolled into webinar session – webinar.session.enrollment.created

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • user_id – ID of the user
  • course_id – ID of the course
  • session_id – ID of the webinar session associated with the course
  • level – the enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – date of the enrollment
  • enrollment_date_begin_validity – start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – end of the validity period (it can be null)
  • subscribed_by_id – ID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status – enrollment status – enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”.
  • extra_data – extra data section
    • additional_fields – enrollment additional fields
      • language – course language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

User enrolled into webinar session – ilt.session.enrollment.deleted

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • user_id – ID of the user
  • course_id – ID of the course
  • session_id – ID of the ILT session associated with the course
  • level – the enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – date of the enrollment
  • enrollment_date_begin_validity – start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – end of the validity period (it can be null)
  • subscribed_by_id: ID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status – enrollment status. Enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”.

User unenrolled from course – course.enrollment.deleted

  • user_id – ID of the user enrolled
  • course_id – ID of the course to which the user is enrolled
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • level –  user level in the course, possible values are: “learner”, “instructor”, “tutor”
  • enrollment_date – date when the enrollment was recorded in UTC in YYYY-MM-DD HH:mm:ss
  • enrollment_date_begin_validity – date when the enrollment validity starts, in UTC in YYYY-MM-DD HH:mm:ss
  • enrollment_date_end_validity – date when the enrollment validity starts, in UTC in YYYY-MM-DD HH:mm:ss
  • subscribed_by_id – ID of the user enrolling the user identified by the user_id parameter
  • status – enrollment status, possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”
  • extra_data: extra data section
    • total_time – time spent by the user on the course

Users unenrolled from Webinar session – webinar.session.enrollment.deleted

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • user_id – ID of the user
  • course_id – ID of the course
  • session_id – ID of the webinar session associated with the course
  • level – enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – date of the enrollment
  • enrollment_date_begin_validity – start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – end of the validity period (it can be null)
  • subscribed_by_idID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status – enrollment status. Enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”

Webinar session enrollment has been updated – webinar.session.enrollment.updated

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • user_id – ID of the user
  • course_id – ID of the course
  • session_id – ID of the updated webinar session associated with the course
  • level – updated enrollment level of the user (learner, tutor, instructor, coach)
  • enrollment_date – updated date of the enrollment
  • enrollment_date_begin_validity – updated start of the validity period for the enrollment (it can be null)
  • enrollment_date_end_validity – updated end of the validity period (it can be null)
  • subscribed_by_id – updated ID of the Superadmin or Power User who enrolled the user, or the user ID if the user enrolled by him/herself.
  • status – updated enrollment status. Enrollment status. Possible values are: “subscribed”, “in_progress”, “completed”, “waiting”, “subscription_to_confirm”, “suspended”, “overbooking”.
  • extra_data – extra data section
    • additional_fields – enrollment additional fields
      • language: updated course language
      • list
        • id – updated additional field ID
        • name – updated additional field name, in the platform default language defined in the Localization Tool
        • value – updated additional field value

ILT session changed – ilt.session.updated

  • course_id – ID of the course associated with the updated ILT session
  • course_code- code of the course associated with the updated ILT session
  • session_id – ID of the updated ILT session
  • session_code – code of the updated ILT session
  • session_name – name of the updated ILT session
  • extra_data – extra data section
    • session_description – description of the updated ILT session
    • session_maximum_enrollments – maximum number of enrollments allowed for the updated ILT session
    • session_minimum_enrollments – minimum number of enrollments allowed for the updated ILT session
    • last_subscription_date – last date for enrolling into the ILT session
    • dates
      • name – name of the updated ILT session
      • original_date – date of the updated ILT session
      • original_timezone– timezone set of the updated session
      • date_time_start – starting time set for the updated session
      • date_time_end – end time set for the updated session
      • break_date_time_start – breaking starting time for the updated session
      • break_date_time_end – breaking end time for the updated session
      • location_name – name of the location where the session will be held
      • location_country – Country where the session will be held
      • classrom_name – name of the classroom where the session will be held
    • additional_fields – session additional fields
      • language – session language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

ILT session deleted – ilt.session.deleted

  • course_id – ID of the course associated with the deleted ILT session
  • course_code– code of the course associated with the deleted ILT session
  • session_id – ID of the deleted ILT session
  • session_code – code of the deleted ILT session
  • session_name – name of the deleted ILT session

New ILT session created – ilt.session.created

  • course_id – ID of the course associated with the ILT session
  • course_code– code of the course associated with the ILT session
  • session_id – ID of the newly created ILT session
  • session_code – code of the newly created ILT session
  • session_name – name of the newly created ILT session
  • extra_data – extra data section
    • session_description – description of the newly created ILT session
    • session_maximum_enrollments – maximum number of enrollments allowed for the newly created ILT session
    • session_minimum_enrollments – minimum number of enrollments allowed for the newly created ILT session
    • last_subscription_date – last date for enrolling into the ILT session
    • dates
      • name – name of the newly created ILT session
      • original_date – date of the newly created ILT session
      • original_timezone– timezone set of the newly created session
      • date_time_start – starting time set for the newly created session
      • date_time_end – end time set for the newly created session
      • break_date_time_start – breaking starting time for the newly created session
      • break_date_time_end – breaking end time for the newly created session
      • location_name – name of the location where the session will be held
      • location_country – Country where the session will be held
      • classrom_name – name of the classroom where the session will be held
    • additional_fields – session additional fields
      • language – session language
      • list
        • id – additional field ID
        • name – additional field name, in the platform default language defined in the Localization Tool
        • value – additional field value

Admin added a course to a Learning Plan – learningplan.course.added

  • learning_plan_id –  ID of the learning plan
  • course_id – ID of the course added to the learning plan
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

Admin created a Learning Plan – learningplan.created

  • learning_plan_id –  ID of the learning plan
  • name – name of the learning plan
  • code – code of the learning plan (it can be empty or null)
  • creation_date – date of the creation (in YYYY-MM-DD hh:mm:ss UTC)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • extra_data – extra data section
    • description – learning plan description

Admin deleted a Learning plan – learningplan.deleted

  • learning_plan_id –  ID of the learning plan
  • name – name of the learning plan
  • code – code of the learning plan (it can be empty or null)
  • deletion_date – date of the deletion (in YYYY-MM-DD hh:mm:ss UTC)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

Admin removed a course from a Learning Plan – learningplan.course.removed

  • learning_plan_id –  ID of the learning plan
  • course_id – ID of the course removed from the learning plan
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

Admin updated a Learning Plan – learningplan.updated

  • learning_plan_id –  ID of the learning plan
  • name – name of the learning plan
  • code – code of the learning plan (it can be empty or null)
  • update_date – date of the update (in YYYY-MM-DD hh:mm:ss UTC)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • extra_data – extra data section
    • description – learning plan description

An assignment has been submitted – lo.assignment.submission

  • submission_id – ID of the assignment submission created by the learner 
  • creation_date – date and time when the submission was generated in UTC with format: YYYY-MM-DD HH:ii:ss
  • user_id – ID of the learner submitting the assignment
  • lo_id – ID of the assignment training material
  • lo_name – name of the assignment training material
  • name – title for the submission, as defined by the learner
  • description – comments added by learner along with the submission
  • course_id – ID of the course where the assignment training material was created
  • files – one or more uploaded files
    • url – hashed filename generated by the platform
    • filename – original file name, as defined by the learner
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

An assignment tracking has been reset – lo.assignment.submission.reset

  • submission_id – ID of the assignment submission created by the learner 
  • user_id – ID of the learner submitting the assignment
  • lo_id – ID of the assignment training material
  • lo_name – name of the assignment training material
  • name – title for the assignment submission as given by the learner
  • description – comments added by learner along with the submission
  • creation_date – date when the assignment was submitted in UTC with the following format: YYYY-MM-DD HH:ii:ss
  • course_id – ID of the course where the assignment training material was created
  • files – one or more uploaded files 
    • url – hashed assignment filename
    • filename – original filename as uploaded by the learner
  • fired_at – timestamp when the assignment was submitted in UTC with the following format: YYYY-MM-DD HH:ii:ss

Assignment has been evaluated – lo.assignment.evaluation

  • submission_id – ID of the assignment submission evaluated by the instructor
  • user_id – ID of the learner in evaluation by the instructor
  • lo_id – ID of the assignment training material
  • lo_name – the name of the training material of type assignment
  • course_id – ID of the course where the assignment training material was created
  • score – score given by the instructor. Default = “0”. Allowed range 0 – 100
  • comment – evaluation comments written by the instructor
  • allow_reupload – set whether the learner is allowed to submit again the assignment, when failed. Default = true
  • status – Evaluation status. Possible values: “failed”, “passed”
  • url – hashed filename of the instructor’s evaluation report
  • filename – original filename, as uploaded by the instructor
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • instructor_id -ID of the instructor that evaluated this assignment.

Transaction created – ecommerce.transaction.created

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • transaction_id – transaction ID, automatically assigned by the platform
  • user_name – username of the user executed the transaction
  • transaction_date – transaction date and time in UTC in the following format: yyyy-dd-mm hh:mm:ss
  • payment_type – payment type used to settle the transaction payment
  • external_transaction_id – transaction ID on payment gateway side (not always present)
  • payment_status – payment status. Possible values are: successful, failed, pending, canceled
  • total_paidamount– total amount paid for the transaction
  • currency – currency used to settle the transaction

Transaction deleted – ecommerce.transaction.deleted

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • transaction_id – transaction ID, automatically assigned by the platform
  • user_name – username of the user executed the transaction
  • transaction_date – transaction date and time in UTC in the following format: yyyy-dd-mm hh:mm:ss
  • payment_type – payment type used to settle the transaction payment
  • external_transaction_id – transaction ID on payment gateway side (not always present)
  • payment_status – payment status, always set to cancelled
  • total_paidamount– total amount paid for the transaction

Transaction updated – ecommerce.transaction.updated

  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss
  • transaction_id – transaction ID, automatically assigned by the platform
  • user_name – username of the user executed the transaction
  • transaction_date – transaction date and time in UTC in the following format: yyyy-dd-mm hh:mm:ss
  • payment_type – payment type used to settle the transaction payment
  • external_transaction_id – transaction ID on payment gateway side (not always present)
  • payment_status – payment status, always set to cancelled
  • total_paidamount– total amount paid for the transaction

User has been created – user.created

  • user_id – the newly created ID for the new user
  • username – username of the new user
  • email – the email for the newly created user (it can be null or empty)
  • creation_date – the date of creation for the user, in format YYYY-MM-DD HH:mm:ss UTC
  • level – the level of the user created (superadmin, poweruser, user)
  • firstname – the first name of the user (it can be null)
  • lastname – the last name of the user (it can be null)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User has been deactivated – user.deactivated

  • user_id – the newly created id for the new user
  • username – username of the user
  • email – the email for the newly created user (it can be null or empty)
  • deactivation_date – the date of the deactivation of the user, in format YYYY-MM-DD HH:mm:ss UTC
  • level – the level of the created user
  • firstname – the first name of the user (it can be null or empty)
  • lastname – the last name of the user (it can be null or empty)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User has been deleted – user.deleted

  • user_id – the ID of the deleted user
  • deletion_date – the date of deletion of the user, in format YYYY-MM-DD HH:mm:ss UTC
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User has been modified – user.updated

  • user_id – the newly created id for the new user
  • username – username of the new user
  • email – the email for the newly created user (it can be null or empty)
  • update_date – the date of update for the user, in format YYYY-MM-DD HH:mm:ss UTC
  • level – the level of the created user
  • firstname – the first name of the user (it can be null or empty)
  • lastname – the last name of the user (it can be null or empty)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User has been re-activated – user.reactivated

  • user_id – the newly created id for the new user
  • username – username of the user
  • email – the email for the newly created user (it can be null or empty)
  • reactivation_date – the date of the reactivation of the user, in format YYYY-MM-DD HH:mm:ss UTC
  • level – the level of the user created
  • firstname – the first name of the user (it can be null or empty)
  • lastname – the last name of the user (it can be null or empty)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

User registered into the platform – user.selfregistered

  • user_id – the newly created ID for the new user
  • username – the username of the new user
  • email – the email for the newly created user (it can be null or empty)
  • creation_date – the date of creation for the user, in format YYYY-MM-DD HH:mm:ss UTC
  • level – the level of the user created (superadmin, poweruser, user)
  • firstname – the first name of the user (it can be null or empty)
  • lastname – the last name of the user (it can be null or empty)
  • fired_at – date and time of the moment the event has been fired in UTC in YYYY-MM-DD HH:mm:ss

Webinar session changed – course.webinarsession.updated

  • session_id – ID of the updated webinar session
  • session_code – code of the updated webinar session
  • session_name – name of the updated webinar session
  • course_id – ID of the course associated with the updated webinar session
  • course_code– code of the course associated with the updated webinar session
  • extra_data – extra data section
    • session_description – description of the updated webinar session
    • session_maximum_enrollments – maximum number of enrollments allowed for the updated webinar session
    • completion_type – completion types for the updated webinar session. Possible values are: “on_join”, “manual” and “automatic”
    • recording_allowed_for_completion – shows whether the updated webinar session can be recorded. Possible values are: “true” and “false”
    • number_of_dates_to_complete – number of session dates required to obtain the webinar completion
    • dates
      • name – name of the updated session
      • description – description of the updated session
      • original_date – date of the updated session
      • original_timezone– timezone set for the updated session
      • date_time_start – starting time set for the updated session
      • date_time_end – end time set for the updated session
      • webinar_tool – webinar tool used to manage the updated session

Webinar session created – course.webinarsession.created

  • session_id – ID of the newly created webinar session
  • session_code – code of the newly created webinar session
  • session_name – name of the newly created webinar session
  • course_id – ID of the course associated with the webinar session
  • course_code– code of the course associated with the webinar session
  • extra_data – extra data section
    • session_description – description of the newly created webinar session
    • session_maximum_enrollments – maximum number of enrollments allowed for the newly created webinar session
    • completion_type – completion types for the newly created webinar session. Possible values are: “on_join”, “manual” and “automatic”
    • recording_allowed_for_completion – shows whether the webinar session can be recorded. Possible values are: “true” and “false”
    • number_of_dates_to_complete – number of session dates required to obtain the webinar completion
    • dates
      • name – name of the newly created session
      • description – description of the newly created session
      • original_date – date of the newly created session
      • original_timezone– timezone set of the newly created session
      • date_time_start – starting time timezone set for the newly created session
      • date_time_end – end time timezone set for the newly created session
      • webinar_tool – webinar tool used to manage the newly created session

Webinar session deleted – course.webinarsession.deleted

  • session_id – ID of the deleted webinar session
  • session_code – code of the deleted webinar session
  • session_name – name of the deleted webinar session
  • course_id – ID of the course associated with the deleted webinar session
  • course_code– code of the course associated with the deleted webinar session