Skip to main content

Troubleshooting Asset Notifications

Summary

This page covers missing or undelivered asset notifications. The six Asset events map to six Asset templates in the notification service. The recipient chain resolves labor to user to the AssetAdmin role. Channels are In-App and Email. Email requires an enriched RecipientEmail, which is null at emit, so a missing email is expected until enrichment occurs. Broker delivery is not confirmed from the asset service. The consumer deduplicates on event id. When an event was emitted but no notification appears, the common causes are broker availability or a missing recipient email.

Audience

Support engineers and developers investigating notifications that did not arrive, missing email notifications, or duplicate-suppressed notifications.

Symptoms

  • An event was emitted but no notification appeared.
  • An In-App notification arrived but no email did.
  • A notification appears to have been deduplicated.
  • A recipient was not resolved as expected.

Cause

Scope

This page covers event-to-template mapping, the recipient chain, channels, and recipient-email enrichment. Event emission itself is covered on the outbox page.

Likely causes

  • The broker was unavailable, so the emitted event did not reach the consumer to produce a notification.
  • The RecipientEmail was null at emit and enrichment had not occurred, so the email channel had no address; this is expected until enrichment.
  • The recipient chain (labor to user to AssetAdmin role) did not resolve a recipient.
  • The consumer deduplicated on event id because the event id was already processed.

Resolution

Safe diagnostics

  • Confirm the event was emitted by reading the outbox diagnostics for the corresponding Asset event.
  • Confirm broker availability, since a backlog or unavailability prevents delivery.
  • Treat a missing email as expected when RecipientEmail was null at emit and enrichment has not run.
  • Confirm the recipient chain resolves through labor, user, and the AssetAdmin role.

Validation

  • Confirm the In-App notification is present for the event once the broker is available and a recipient resolves.
  • Confirm the email arrives only after RecipientEmail enrichment.
  • Confirm duplicate events did not produce duplicate notifications, consistent with event-id dedup.

Evidence to Collect

  • The event id and the corresponding template.
  • The outbox row state for the event.
  • Whether RecipientEmail was present.
  • A correlation identifier and timestamp.

Escalation

Route template and recipient-resolution behavior to the notification owner. Route broker availability to the messaging owner. Route recipient-email enrichment to the notification and identity or employee owners.

Source References

  • microservices/src/notification-service/Application/EventNotificationResolver.cs
  • microservices/src/asset-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/asset-service/Domain/Common/Enums.cs

See Also

Keywords

notifications, templates, recipient email, in-app email, dedup

Revision Information

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