Notification Delivery Workflow
Summary
Notification delivery is the provider-facing part of communication. It adapts internal message intent to email, Microsoft Graph, Teams destinations, and Postmark delivery while keeping test jobs and provider clients explicit.
Reader Question
How does an internal communication request become a provider-backed delivery without leaking provider mechanics into domain workflows?
Surface Or Workflow
Engineers enter through notification services, provider integration clients, test email jobs, Graph email jobs, Teams destination sync, and the notification domain doc. Operators see delivery outcomes indirectly through sent messages, Teams destinations, or job evidence.
Lifecycle
A domain workflow or scheduled job builds message intent. Notification services choose the delivery capability. Provider adapters send through Postmark or Microsoft Graph, or synchronize Teams destinations. Test jobs verify provider configuration and delivery paths without turning every domain workflow into a provider client.
Child Threads
- Notifications And Communications: first-level communication story.
- Integration Provider Boundaries: provider adapter discipline.
- Postmark And Email Delivery: email provider reference.
Implementation Boundaries
Notification services live under services/notifications; jobs under jobs/notifications; provider adapters under integrations/ext_postmark and integrations/ext_microsoft; Teams source models under services/lkci_lakehouse/models/sources/microsoft/teams.py.
Tradeoffs
Dedicated test and sync jobs may look operationally small, but they keep delivery configuration observable and separate from domain logic.
Visual
The current visual is a graph neighborhood. The intended visual is a delivery sequence from message intent to notification service, provider adapter, send or destination sync, result, and job evidence.
Source Evidence
services/notificationsjobs/notificationsjobs/notifications/test_email/run.pyjobs/notifications/test_graph_email/run.pyjobs/notifications/sync_teams_destinations/run.pyintegrations/ext_postmarkintegrations/ext_microsoft/email.pyintegrations/ext_microsoft/teams.pyservices/lkci_lakehouse/models/sources/microsoft/teams.pydocs/domains/notifications.md