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