Skip to main content

Notification HTTP Boundaries

Summary

No onboarding/offboarding controller or minimal API makes a verified HTTP call to Notification Service. Exit approval invokes the monolith notification abstraction in-process after saving state. Extracted onboarding writes domain events to its outbox, but the inspected Notification Service resolver does not map them.

Audience

Developers, QA, support, notification owners, and solution architects.

Boundary classification

BoundaryClassification
Exit approval to monolith notification abstractionImplemented internal service call, not HTTP
Recruitment lifecycle event to outboxImplemented persistence/messaging boundary, not HTTP
Extracted Notification Service mapping for onboarding eventsNot implemented in inspected resolver
Direct lifecycle notification endpointNot found
Notification delivery callback to lifecycle APINot found

The internal exit notification uses an exit-approved event key and contextual recipient/template data. This documentation does not reproduce personal data or action-link values.

Failure behavior

Exit approval state is saved before notification dispatch. No lifecycle-specific HTTP response or compensating action is defined for delivery failure. Extracted onboarding completion does not wait for notification delivery.

Requires confirmation

  • Required onboarding and offboarding notification recipients, channels, and templates.
  • Whether notification failures should change lifecycle API success.
  • Retry, dead-letter, delivery-status, and reconciliation behavior.
  • Ownership for adding extracted Recruitment event mappings.

Source References

  • Controllers/HrOperationsController.cs
  • Controllers/NotificationTemplatesController.cs
  • microservices/src/notification-service/Application/EventNotificationResolver.cs
  • microservices/src/recruitment-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/recruitment-service/Application/Commands/OnboardingCommands.cs

See Also

Keywords

  • Notification boundary
  • In-process dispatch
  • Delivery gap

Revision Information

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