Summary: How recipients, timing, and send conditions are decided for each kind of notification — written for reviewing or auditing the policy logic itself.
There are two fundamentally different triggering styles:
A third pattern exists alongside these: some notification kinds are one-off by design — a person picks the audience and content and sends it (or schedules a single future send) rather than it recurring or reacting to an event. Marketing-style messages and product/category announcements work this way.
Every notification type — order updates, e-invoices, payment reminders, ageing, statements, and one-off messages alike — resolves recipients the same way, through one shared set of rules, so the policy is consistent across all of them:
A contact must pass role, then contact scope, to be included at all; email address scope only then decides which address(es) of a qualifying contact actually get written to.
A policy pitfall worth knowing about: role filtering used to be tangled up with a separate "only these / except these" customer-exclusion setting. That coupling was deliberately removed so role filtering now always means "only contacts with this role," regardless of how the customer-exclusion setting is set. Any notification template that was configured before that change, with the exclusion setting on "except these" and specific roles selected, changed meaning as a result — those roles now mean "only these roles" instead of "every role except these." No historical templates were automatically corrected, on the basis that none existed in production at the time — but this is worth a one-time audit if older templates are ever found.
Only payment reminders, ageing reminders, and the two statement types (live and monthly) carry configurable send conditions:
No other notification kind has this condition layer — an order-update or e-invoice notification fires purely on its triggering event, with no threshold logic layered on top.
Several notification kinds (payment reminder, ageing, both statement types, and one-off messages) can be sent over WhatsApp, but WhatsApp requires the exact message template to be pre-approved by Meta before it can be used. Saving a new or edited WhatsApp template puts it into a pending state; it only becomes usable once approval comes back. Editing an already-approved template's content resets it back to pending — Meta re-approval is required again, every time the content changes.
The "Message" type (WhatsApp or LINE only) is not on any recurring schedule and is never picked up automatically — it only sends when someone explicitly triggers it, either immediately or via a one-time scheduled send set up in advance. This is a deliberate policy difference from every other scheduled/recurring type, so that a marketing-style message never goes out silently on autopilot.
Promotion-related notifications don't use the role/contact-scope/email-scope rules above at all — they instead target one of two fixed audiences: approvers or submitters (or both, depending on the event). There are five distinct trigger events: approval required, an approver approved it, an approver rejected it, the promotion's status changed, and someone added a note to it. A separate recurring digest notification also exists, summarizing everything still pending a given approver's sign-off.
There's no visual walkthrough for this article yet.
There's no interactive walkthrough for this article yet.