Delete

Upon deleting a learning object, the LEARNING_OBJECT_DELETION event is generated. This event indicates that the learning object has been deleted and is no longer available for learners to access.

In addition to real-time events, learning object events also have a batch (non-real-time) counterpart, which is triggered as part of the LEARNING_OBJECT_MODIFICATION_BATCH event. This event occurs during the creation or modification of a learning object through the migration workflow. Since learning object draft and delete operations are not supported via migration, there are no corresponding draft or deletion events for these actions.

Learning object instances

The following are the supported events for learning object instances.

Update

Once an instance is created, the LEARNING_OBJECT_INSTANCE_MODIFICATION event is generated. Learning object instances in Adobe Learning Manager don’t have a Draft state; therefore, Adobe Learning Manager doesn’t support a LEARNING_OBJECT_INSTANCE_DRAFT event. This event is generated whenever an instance is created, modified, or retired.

In addition to being generated when an instance is created, updated, or retired, this event is also auto-generated when its parent learning object is marked as Retired. This is because when a learning object is retired, the underlying instances need to be marked as Retired as well.

Delete

When an instance is deleted, the LEARNING_OBJECT_INSTANCE_DELETION event is generated. This event only applies to course instances that contain self-paced modules, as Adobe Learning Manager only allows admins to delete course instances where the module type is self-paced. Adobe Learning Manager does not support explicit deletions for other types of course modules not for learning path instances or certification instances.

The learning object instance also has a non-real-time counterpart, exposed as part of the LEARNING_OBJECT_INSTANCE_MODIFICATION_BATCH event. This event is triggered during the creation or modification of a learning object instance through the migration workflow. Since draft or delete operations for learning object instances are not supported in migration, corresponding draft or deletion events are not available.

Enrollment

Once a learner performs an enrollment action, a real-time enrollment event is triggered. Depending on the learning object type, the real-time enrollment event can fall into one of the following categories:

  • COURSE_ENROLLMENT
  • LEARNING_PATH_ENROLLMENT
  • CERTIFICATION_ENROLLMENT

Enrollment events have batch counterparts in addition to these real-time events. Whenever an enrollment is triggered by an admin, manager, or platform, non-real-time enrollment events are triggered. Based on the learning object type, the batch enrollment event can be one of the following:

  • COURSE_ENROLLMENT_BATCH
  • LEARNING_PATH_ENROLLMENT_BATCH
  • CERTIFICATION_ENROLLMENT_BATCH

Unenrollment

When a learner performs an unenrollment action, a real-time unenrollment event is triggered. Depending on the learning object type, the real-time unenrollment event can fall into one of the following categories:

  • COURSE_UNENROLLMENT
  • LEARNING_PATH_UNENROLLMENT
  • CERTIFICATION_UNENROLLMENT

In addition to these events, there are also batch unenrollment events. Whenever an unenrollment is marked by an admin, manager, or platform, non-real time unenrollment events are triggered. Based on the learning object type, the batch unenrollment event can be one of the following:

  • COURSE_UNENROLLMENT_BATCH
  • LEARNING_PATH_UNENROLLMENT_BATCH
  • CERTIFICATION_UNENROLLMENT_BATCH

Completion

The real-time completion event is triggered whenever a learner completes a learning object. Based on the learning object type, the real-time completion event can fall into one of the following categories:

  • COURSE_COMPLETED
  • LEARNING_PATH_COMPLETED
  • CERTIFICATION_COMPLETED

In addition to these real-time events, there are also batch completion events. For example, when an admin, manager, or platform marks a learning object as complete, the non-real-time completion events are triggered. Based on the learning object type, the batch completion event can fall into one of the following categories:

  • COURSE_COMPLETED_BATCH
  • LEARNING_PATH_COMPLETED_BATCH
  • CERTIFICATION_COMPLETED_BATCH

Learner progress

Whenever a learner enrolls in a learning object and begins the module, their progress is tracked. This data is included in the LEARNER_PROGRESS event. The event may be delayed by up to 15 minutes, as the progress tracking relies on complex aggregation logic, which is not real-time.

CI stats

The CI_STATS real-time event is triggered whenever there is a change in seat or waitlist availability for a course instance. This data is captured only at the instance level. Additionally, this event is triggered for courses and not for other learning paths or certifications, as seat and waitlist availability are attributes specific to a course and its instance.

Ordering of events

Adobe Learning Manager ensures that events are ordered for each account. However, there may be discrepancies when correlating messages between enrollment or completion and progress events. This happens because the learner progress event can be delayed by up to 15 minutes, as progress tracking relies on complex aggregation logic, which is not real-time. Additionally, progress events come from different data sources, so their order cannot be guaranteed in relation to enrollment and completion events. Therefore, Adobe Learning Manager provides best practices for clients when listening to these events.

If the completion event occurs before the learner progress event, the client can ignore the learner progress event. This is because the learner progress event can be delayed by up to 15 minutes, while the completion event may be triggered before the progress event is received. Since receiving a completion event indicates that the learning object is finished, it implies that progress has reached 100%.

In the rare case that the enrollment event comes after the learner progress event, the client can ignore the enrollment event. This is because progress can only be tracked after the learner has enrolled in the learning object. In other words, receiving a progress event indicates that the learning object has been started, which only happens after a successful enrollment.

Realtime events vs batched events

Certain events have real-time and non-real-time counterparts, as mentioned above. There may be questions about when to subscribe to real-time events and when to subscribe to non-real-time events. The following are guidelines that can be followed based on the entities described above.

Real-time events

S.NoWebhook EventsDescription
1CI_STATSTriggered when there is a change in seat or waitlist availability for a course instance.
2COURSE_ENROLLMENTTriggered when a learner enrolls in a course.
3COURSE_COMPLETEDTriggered when a learner completes a course.
4LEARNING_PATH_ENROLLMENTTriggered when a learner enrolls in a learning path.
5LEARNING_PATH_COMPLETEDTriggered when a learner completes a learning path.
6CERTIFICATION_ENROLLMENTTriggered when a learner enrolls in a certification.
7CERTIFICATION_COMPLETEDTriggered when a learner completes a certification.
8COURSE_UNENROLLMENTTriggered when a learner unenrolls from a course.
9LEARNING_PATH_UNENROLLMENTTriggered when a learner unenrolls from a learning path.
10CERTIFICATION_UNENROLLMENTTriggered when a learner unenrolls from a certification.
11LEARNING_OBJECT_DRAFTTriggered during the creation of a learning object in draft state.
12LEARNING_OBJECT_DELETIONTriggered during the deletion of a learning object.
13LEARNING_OBJECT_MODIFICATIONTriggered during the modification of a learning object.
14LEARNING_OBJECT_INSTANCE_MODIFICATION

Triggered during the creation or modification of a learning object instance.

Note: It is recommended to use course instances only after the course is published.

15LEARNING_OBJECT_INSTANCE_DELETIONTriggered during the deletion of a learning object instance.

Non–real-time events

S.NoWebhook EventsDescription
1COURSE_ENROLLMENT_BATCHTriggered when an admin/manager/platform enrolls learners in a course.
2COURSE_COMPLETED_BATCHTriggered when an admin/manager/platform marks a course as completed.
3LEARNING_PATH_ENROLLMENT_BATCHTriggered when an admin/manager/platform enrolls learners in a learning path.
4LEARNING_PATH_COMPLETED_BATCHTriggered when an admin/manager marks a learning path as completed.
5CERTIFICATION_ENROLLMENT_BATCHTriggered when an admin/manager/platform enrolls learners in a certification.
6CERTIFICATION_COMPLETED_BATCHTriggered when an admin/manager/platform marks a certification as completed.
7LEARNER_PROGRESSTracks the progress of a learner when a module is completed.
8COURSE_UNENROLLMENT_BATCHTriggered when an admin/manager/platform unenrolls learners from a course.
9LEARNING_PATH_UNENROLLMENT_BATCHTriggered when an admin/manager/platform unenrolls learners from a learning path.
10CERTIFICATION_UNENROLLMENT_BATCHTriggered when an admin/manager/platform unenrolls learners from a certification.
11LEARNING_OBJECT_MODIFICATION_BATCHTriggered during the modification of a learning object via migration workflow.
12LEARNING_OBJECT_INSTANCE_MODIFICATION_BATCHTriggered during the creation or modification of a learning object instance via migration workflow.