Lifecycle Email Delivery
Understand queued platform email, retries, frequency limits, localization, and unsubscribe behavior.
Leenops's platform-generated lifecycle messages use a durable delivery outbox. This is separate from a user composing an immediate one-to-one email.
Delivery flow
Lifecycle or operational event
→ persist email intent with an idempotency key
→ delivery worker claims available jobs
→ frequency and suppression gate
→ shared Leenops email sender
→ provider delivery events
→ completed, retried, deferred, or failed statePersisting the intent before sending means a temporary provider or worker failure does not silently lose the message.
Duplicate protection
Every queued platform email requires an idempotency key. The database enforces uniqueness within the workspace, so retrying the same logical event returns the existing job instead of sending another copy.
Retry and frequency states
| State | Meaning |
|---|---|
| Pending | Waiting for an available delivery slot |
| Processing | Claimed by a worker |
| Deferred | Frequency cap postponed the message |
| Retried | A temporary failure was released for another attempt |
| Completed | Provider accepted the message |
| Failed | Retry policy ended or the failure is permanent |
Provider acceptance is not the same as recipient delivery. Delivery, bounce, complaint, and open/click evidence depend on provider callbacks and recipient behavior.
Lifecycle journeys
Leenops includes editable English, French, and Dutch sequence blueprints for onboarding, activation, feedback, expiry, and low-frequency win-back communication. Workspace language selects the initial locale when available.
Unsubscribe behavior
Lifecycle messages include a signed unsubscribe URL. Both GET and POST are accepted by the unsubscribe endpoint. An invalid token returns an error; an expired enrollment returns 410; a valid request marks the enrollment unsubscribed.
Unsubscribing from a lifecycle sequence does not remove a user from the workspace and does not necessarily disable transactional security, billing, or service messages.
Operator guidance
- Use the email delivery console to inspect job and provider-event timelines.
- Retry the logical job through supported operations; do not create a new idempotency key merely to bypass a failure.
- Treat complaint and suppression states as safety controls.
- Never place API keys, access tokens, or sensitive personal data in delivery metadata.

