Skip to main content

Notification Consumed Events

Summary​

The authoritative inventory. 42 event types are declared in the resolver's supported list, bound by the consumer, and mapped to a template key, a recipient audience and a default channel set. Each appears exactly once here.

Audience​

Engineers, architects, QA, support, security reviewers and implementation partners.

Reference Content​

The verified reference material for this topic is set out in the sections below.

Reading this inventory​

  • Direction is inbound for every row; Notification consumes only.
  • Publisher is the owning service by family.
  • Consumer is the Notification Service in every row.
  • Template key is what the resolver passes for template resolution — usually the event type, but the Asset and Performance families use a dotted key.
  • Channels are the resolver defaults, overridable per event type by configuration.
  • Version is the envelope schema version, which is 1 by default and never branched on.
  • Source is the resolver for every row.

Employee, Leave, Payroll, Document and Platform​

EventPublisherTemplate keyChannelsRecipient
EmployeeCreatedEmployeeEmployeeCreatedIn-app, EmailThe created employee
LeaveApprovedLeaveLeaveApprovedIn-app, EmailThe requesting employee
LeaveRejectedLeaveLeaveRejectedIn-app, EmailThe requesting employee
PayrollFrozenPayrollPayrollFrozenIn-app onlyOperational recipient
PayslipGeneratedPayrollPayslipGeneratedIn-app, EmailThe employee
DocumentGeneratedDocumentDocumentGeneratedIn-app, EmailThe subject employee
TenantProvisionedPlatformTenantProvisionedIn-app, EmailProvisioning recipient

PayrollFrozen is the only event whose default channel set is in-app only.

Expense​

EventPublisherTemplate keyChannelsRecipient
ExpenseApprovedExpenseExpenseApprovedIn-app, EmailThe claimant
ExpenseRejectedExpenseExpenseRejectedIn-app, EmailThe claimant
ExpensePaidExpenseExpensePaidIn-app, EmailThe claimant

Asset​

All six share one payload record and one lifecycle handler, differing only by template key.

EventPublisherTemplate keyChannels
AssetRequestedAssetAsset.RequestedIn-app, Email
AssetAssignedAssetAsset.AssignedIn-app, Email
AssetReturnedAssetAsset.ReturnedIn-app, Email
AssetRejectedAssetAsset.RejectedIn-app, Email
AssetLostOrDamagedAssetAsset.LostOrDamagedIn-app, Email
AssetRetiredAssetAsset.RetiredIn-app, Email

Performance​

Seven events share one payload record and one handler parameterised by template key and audience.

EventPublisherTemplate keyAudience
ReviewCycleOpenedPerformancePerformance.ReviewCycleOpenedEmployee
ReviewCycleClosedPerformancePerformance.ReviewCycleClosedEmployee
GoalCreatedPerformancePerformance.GoalCreatedEmployee
AppraisalSelfSubmittedPerformancePerformance.ManagerReviewRequiredManager
AppraisalManagerReviewedPerformancePerformance.CalibrationRequiredHR
AppraisalApprovedPerformancePerformance.AppraisalApprovedEmployee
RatingFinalizedPerformancePerformance.RatingFinalizedEmployee

Two events deliberately re-target: a self-submission notifies the manager that a review is required, and a manager review notifies HR that calibration is required. The template key therefore describes the required action, not the source event.

Training and certification​

EventPublisherTemplate keyChannels
TrainingAssignedTrainingTrainingAssignedIn-app, Email
TrainingStartedTrainingTrainingStartedIn-app, Email
TrainingCompletedTrainingTrainingCompletedIn-app, Email
AssessmentPassedTrainingAssessmentPassedIn-app, Email
AssessmentFailedTrainingAssessmentFailedIn-app, Email
CertificateIssuedTrainingCertificateIssuedIn-app, Email
CertificateExpiringSoonTrainingCertificateExpiringSoonIn-app, Email
TrainingSessionScheduledTrainingTrainingSessionScheduledIn-app, Email
TrainingSessionRescheduledTrainingTrainingSessionRescheduledIn-app, Email

Helpdesk​

Ten events share one payload record and one handler parameterised by audience. This is the only family that can produce multiple recipients from one event.

EventPublisherTemplate keyAudience
TicketCreatedHelpdeskTicketCreatedRequester
TicketAssignedHelpdeskTicketAssignedAssignee
TicketCommentAddedHelpdeskTicketCommentAddedRequester and assignee
TicketStatusChangedHelpdeskTicketStatusChangedRequester
TicketResolvedHelpdeskTicketResolvedRequester
TicketClosedHelpdeskTicketClosedRequester
TicketReopenedHelpdeskTicketReopenedAssignee or admin
TicketSlaBreachedHelpdeskTicketSlaBreachedAdmin
TicketEscalatedHelpdeskTicketEscalatedAdmin
TicketAttachmentAddedHelpdeskTicketAttachmentAddedRequester and assignee

Multi-recipient audiences are de-duplicated by recipient type and external reference before intents are produced, so a ticket whose requester is also its assignee yields one notification rather than two.

Totals​

MetricCount
Supported event types42
Queue bindings42
Resolver cases42
Distinct template keys used42
Families10
Events defaulting to in-app only1
Families able to yield multiple recipients1

Verified absence​

No Workflow, Recruitment, Attendance, Organization, Onboarding or Identity event appears in the supported list. An event of an unsupported type that reached the queue would resolve to no intents and be recorded with a no-recipient outcome.

Classification​

Implemented.

Requires confirmation​

Whether the unmapped modules are intended to raise notifications requires confirmation.

See Also​

Keywords​

  • Notification database
  • Consumed Events
  • Draft database documentation

Source References​

  • microservices/src/notification-service/Application/EventNotificationResolver.cs
  • microservices/src/notification-service/Messaging/NotificationEventConsumer.cs
  • microservices/src/notification-service/Seed/DefaultTemplateSeeder.cs
  • microservices/src/notification-service/Application/NotificationOptions.cs

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-21
  • Review cycle: Quarterly