Skip to content

Events and notifications

Generated from api/packages/*/src/Events and Template::register calls

Packages dispatch Laravel events from src/Events. The templates packages register a template type for an event and a channel with Template::register(Event, Channel, Variables): when the event fires, every active template of that type is rendered with the event’s variables and sent (Templates, Notifications). Events can also be consumed by your own listeners (Extending ulams).

Event Channel Variables class Registered in
AssignToProduct Email AssignToProductVariables templates-email
AssignToProductable Email AssignToProductableVariables templates-email
UnassignProduct Email UnassignProductVariables templates-email
UnassignProductable Email UnassignProductableVariables templates-email
AccountMustBeEnableByAdmin Email VerifyUserAccountVariables templates-email
AccountConfirmed Email AccountConfirmedVariables templates-email
UserAddedToGroup Email UserAddedToGroupVariables templates-email
UserRemovedFromGroup Email UserRemovedFromGroupVariables templates-email
PasswordChanged Email PasswordChangedVariables templates-email
AccountMustBeEnableByAdmin Email VerifyUserAccountVariables templates-email
ForgotPassword Email ResetPasswordVariables templates-email
AccountRegistered Email VerifyEmailVariables templates-email
AccountDeleted Email AccountDeletedVariables templates-email
AccountBlocked Email AccountBlockedVariables templates-email
AccountDeletionRequested Email AccountDeletionRequestedVariables templates-email
ProductAttached Email ProductAttachedVariables templates-email
OrderCreated Email OrderCreatedVariables templates-email
ConsultationAccessEnquiryAdminCreatedEvent Email ConsultationAccessEnquiryAdminCreatedVariables templates-email
ConsultationAccessEnquiryDisapprovedEvent Email ConsultationAccessEnquiryDisapprovedVariables templates-email
ConsultationAccessEnquiryApprovedEvent Email ConsultationAccessEnquiryApprovedVariables templates-email
ApprovedTermWithTrainer Email ApprovedTermWithTrainerVariables templates-email
ApprovedTerm Email ApprovedTermVariables templates-email
RejectTermWithTrainer Email RejectTermWithTrainerVariables templates-email
RejectTerm Email RejectTermVariables templates-email
ReportTerm Email ReportTermVariables templates-email
ReminderAboutTerm Email ReminderAboutTermVariables templates-email
ReminderTrainerAboutTerm Email ReminderTrainerAboutTermVariables templates-email
ChangeTerm Email ChangeTermVariables templates-email
CourseAccessEnquiryAdminCreatedEvent Email CourseAccessEnquiryAdminCreatedVariables templates-email
CourseDeadlineSoon Email DeadlineIncomingVariables templates-email
CourseFinished Email UserFinishedCourseVariables templates-email
CourseAssigned Email UserAssignedToCourseVariables templates-email
CourseUnassigned Email UserUnassignedFromCourseVariables templates-email
CoursedPublished Email PublishedCourseVariables templates-email
CourseStarted Email StartedCourseVariables templates-email
CourseAccessStarted Email AccessStartedCourseVariables templates-email
CourseAccessFinished Email AccessFinishedCourseVariables templates-email
TopicFinished Email TopicFinishedCourseVariables templates-email
UlamsImportedNewUserTemplateEvent Email ImportedNewUserVariables templates-email
UpdateProposalReady Email UpdateProposalReadyVariables templates-email
SourceCheckFailing Email SourceCheckFailingVariables templates-email
CourseContentUpdated Email CourseContentUpdatedVariables templates-email
PaymentRegistered Email PaymentRegisteredVariables templates-email
PaymentFailed Email PaymentFailedVariables templates-email
PaymentSuccess Email PaymentSuccessVariables templates-email
PaymentCancelled Email PaymentCanceledVariables templates-email
TaskAssignedEvent Email TaskAssignedVariables templates-email
TaskCompleteUserConfirmationEvent Email TaskCompleteUserConfirmationVariables templates-email
TaskCompleteRequestEvent Email TaskCompleteRequestVariables templates-email
TaskOverdueEvent Email TaskOverdueVariables templates-email
TaskIncompleteEvent Email TaskIncompleteVariables templates-email
TaskNoteCreatedEvent Email TaskNoteCreatedVariables templates-email
ManuallyTriggeredEvent Email UserVariables templates-email
ProjectSolutionCreatedEvent Email ProjectSolutionCreatedVariables templates-email
TopicTypeChanged Email TopicTypeChangedVariables templates-email
ProcessVideoStarted Email VideoProcessStartedVariables templates-email
ProcessVideoFailed Email VideoProcessFailedVariables templates-email
ProcessVideoFinished Email VideoProcessFinishedVariables templates-email
ProcessVideoState Email VideoProcessStateVariables templates-email
ReminderAboutTerm Email ReminderAboutTermVariables templates-email
WebinarTrainerAssigned Email WebinarTrainerAssignedVariables templates-email
WebinarTrainerUnassigned Email WebinarTrainerUnassignedVariables templates-email
YtProblem Email YtProblemVariables templates-email
CourseFinished Pdf UserFinishedCourseVariables templates-pdf
ManuallyTriggeredEvent Pdf UserVariables templates-pdf
ApprovedTermWithTrainer Sms ApprovedTermWithTrainerVariables templates-sms
ReportTerm Sms ReportTermVariables templates-sms
RejectTermWithTrainer Sms RejectTermWithTrainerVariables templates-sms
RejectTerm Sms RejectTermVariables templates-sms
ApprovedTerm Sms ApprovedTermVariables templates-sms
ReminderAboutTerm Sms ReportTermVariables templates-sms
ReminderTrainerAboutTerm Sms ReminderTrainerAboutTermVariables templates-sms
ManuallyTriggeredEvent Sms UserVariables templates-sms
Event Description Templates
AssignToProduct Email
AssignToProductable Email
UnassignProduct Email
UnassignProductable Email
Event Description Templates
AccountBlocked Email
AccountConfirmed Email
AccountDeleted Email
AccountDeletionRequested Email
AccountMustBeEnableByAdmin Email, Email
AccountRegistered Email
ForgotPassword Email
Impersonate
Login
Logout
PasswordChanged Email
ResetPassword
UserAddedToGroup Email
UserRemovedFromGroup Email
Event Description Templates
NotificationSent
Event Description Templates
AbandonedCartEvent
OrderCancelled
OrderCreated Email
OrderPaid
ProductAddedToCart
ProductAttached Email
ProductBought
ProductDetached
ProductRemovedFromCart
ProductableAttached
ProductableDetached
Event Description Templates
ConsultationAccessEnquiryAdminCreatedEvent Email
ConsultationAccessEnquiryAdminUpdatedEvent
ConsultationAccessEnquiryApprovedEvent Email
ConsultationAccessEnquiryDisapprovedEvent Email
ConsultationAccessEnquiryEvent
Event Description Templates
ApprovedTerm Email, Sms
ApprovedTermWithTrainer Email, Sms
ChangeTerm Email
RejectTerm Email, Sms
RejectTermWithTrainer Email, Sms
ReminderAboutTerm Email, Email, Sms
ReminderTrainerAboutTerm Email, Sms
ReportTerm Email, Sms
Event Description Templates
CourseAccessEnquiryAdminCreatedEvent Email
CourseAccessEnquiryStudentCreatedEvent
Event Description Templates
ElementPatched An element was changed by an approved chat edit (other packages mark work based on the old text as out of date).
EventLog Appends AG-UI events to course_builder_events (ADR 0011). The row id is the SSE event id. After each append the session’s “last event” key in the cache is bumped so open SSE connections wake without querying the table on every tick. A2UI v0.9 surfaces travel as ACTIVITY_SNAPSHOT events with activity type a2ui-surface; @ag-ui/core 1.0.2 defines no A2UI convention, and activity events carry exactly this kind of structured, replaceable UI state. The adapter on each side is this class and @ulams/sdk.
SourceIngested A source was converted and its fragments written (first upload of a builder session). Other packages react to it: Living Course records revision 1 of the source.
Event Description Templates
CourseAccessFinished Email
CourseAccessStarted Email
CourseAssigned Email
CourseDeadlineSoon Email
CourseFinished Email, Pdf
CourseStarted Email
CourseStatusChanged
CourseTutorAssigned
CourseTutorUnassigned
CourseUnassigned Email
CoursedPublished Email
LessonFinished
TopicFinished Email
Event Description Templates
CloneCourseFailedEvent
CloneCourseFinishedEvent
CloneCourseStartedEvent
Event Description Templates
UlamsImportedNewUserTemplateEvent Email
Event Description Templates
GreetingSent Dispatched when an admin sends a greeting to a user. The class lives in the Ulams\ namespace and carries a User, so the notifications package stores it as a database notification of that user and the templates package can send it on any channel an admin has a template for.
Event Description Templates
File
FileDeleted
FileStored
Event Description Templates
CourseContentUpdated A learner has new notices after an update. In-app and e-mail, at most one e-mail per course per 7 days. Recipient: the learner. Email
ProposalApplied An update proposal was applied to the course (progress rules and notifications follow).
SourceCheckFailing A connection failed its check three times in a row. In-app and e-mail. Recipient: the session author. Email
SourceRevisionDetected A source revision with impact on the course was detected (in-app only). Recipient: the session author.
UpdateProposalApplied An update proposal was applied (in-app only). Recipient: the session author.
UpdateProposalReady An update proposal is ready for review or waits for the author to start the analysis. In-app and e-mail. Recipients: the session author and the course authors who may review. Email
Event Description Templates
AuCompletionReported A cmi5 AU reported completed or passed for its own registration through an LRS session token. The course packages listen and complete the topics that use the AU.
Event Description Templates
PaymentCancelled Email
PaymentFailed Email
PaymentRegistered Email
PaymentSuccess Email
Event Description Templates
PermissionRoleChanged
PermissionRoleRemoved
Event Description Templates
ScormScoCompleted A learner’s tracking of a SCO reached completed or passed for the first time.
Event Description Templates
SettingPackageConfigUpdated
Event Description Templates
StationaryEventAssigned
StationaryEventAuthorAssigned
StationaryEventAuthorUnassigned
StationaryEventUnassigned
Event Description Templates
TaskAssignedEvent Email
TaskCompleteRequestEvent Email
TaskCompleteUserConfirmationEvent Email
TaskDeletedEvent
TaskIncompleteEvent Email
TaskNoteCreatedEvent Email
TaskOverdueEvent Email
TaskUpdatedEvent
Event Description Templates
EventWrapper Event should have methods declared for retrieving its data, for example Course related event should have getCourse() method, but if it does not, we can try to extract ‘course’ property of the object (either from toArray method or by using Reflection) This wrapper exists for enabling extraction of any available data from event instance.
ManuallyTriggeredEvent Email, Pdf, Sms
Event Description Templates
PdfCreated
Event Description Templates
QuizAttemptFinishedEvent
QuizAttemptJournalGradeReadyEvent Emitted when a fully graded attempt of a quiz flagged counts_to_grade is ready to be reflected in the journal — on finish for auto-scored quizzes, or once a lecturer grades the last open question. Re-grading a graded attempt emits it again. Consumed (in pcg-grades) to upsert the partial grade for the journal.
QuizAttemptStartedEvent
QuizGradabilityChangedEvent Emitted whenever a quiz’s counts_to_grade flag flips, in either direction. Consumed (in pcg-grades) to regenerate or delete the journal partial grade(s) derived from this quiz.
Event Description Templates
ProjectGradabilityChangedEvent Emitted whenever a project’s counts_to_grade flag flips, in either direction. Consumed (in pcg-grades) to regenerate or delete the journal partial grade(s) derived from this project.
ProjectSolutionCreatedEvent Email
ProjectSolutionGradedEvent Emitted when a solution of a project flagged counts_to_grade is graded by a lecturer. Re-grading the solution emits it again. Consumed (in pcg-grades) to upsert the partial grade for the journal.
Event Description Templates
TopicTypeChanged Email
Event Description Templates
ProcessVideoFailed Email
ProcessVideoFinished Email
ProcessVideoStarted Email
ProcessVideoState Email
Event Description Templates
ReminderAboutTerm Email, Email, Sms
WebinarTrainerAssigned Email
WebinarTrainerUnassigned Email
WebinarUserAssigned
WebinarUserUnassigned
Event Description Templates
YtProblem Email