trial-expired
Source of truth:
packages/notifications/src/translations.ts
Quick facts
Section titled “Quick facts”| Domain | Channels | Recipients |
|---|---|---|
| — | — | — |
Trigger sites
Section titled “Trigger sites”| Source | Context |
|---|---|
apps/worker/src/billing.ts:205 | processTrialScan |
Payload — TrialExpiredData
Section titled “Payload — TrialExpiredData”interface TrialExpiredData { billingUrl: string;}Channel steps
Section titled “Channel steps”Trigger step
Section titled “Trigger step”The caller invokes triggerWorkflow('trial-expired', recipientIds, data) where data is the TrialExpiredData shape above. The server pre-translates the payload via getTranslatedPayload('trial-expired', recipientLocale, data) from @repo/notifications before sending, producing { inAppBody, emailSubject, emailBody } for the dashboard templates to render.
See also
Section titled “See also”- Notifications overview — the workflow grid, source-of-truth file map.
- Configuration — env vars, dashboard checklist, channel mapping.