Transactional Email
Use case: reliably deliver user-facing transactional messages (password resets, receipts, confirmations) with template rendering, provider failover, and precise usage accounting.
Why SendPromptly
- Centralize event ingestion (single
POST /api/v1/events) and fan-out to email providers. - Template rendering with size caps (100KB) to prevent oversized messages.
- Provider failover and health checks to improve deliverability.
- Exponential retry schedule to handle transient failures without double-counting usage.
Example flow
- Application emits an event
user.signuptoPOST /api/v1/eventswithAuthorization: Bearer <ENV_TOKEN>andIdempotency-Key: <uuid>. - SendPromptly resolves active email templates, renders the message, and creates a
delivery_run. DeliverEmailJobselects the configured provider and attempts delivery; retries occur at0s,+1m,+10m,+1h,+6hif needed.- Usage is incremented once on first successful delivery for the
delivery_run.
Example payload
{
"event_key": "user.signup",
"payload": { "name": "Alice", "signup_url": "https://app.example/verify" },
"recipient": { "email": "[email protected]" }
}
Operational tips
- Keep templates concise to stay under the 100KB rendered cap.
- Use provider Test Connection in the portal after adding credentials.
- Monitor delivery runs in the Message Log to see attempt history and failure reasons.
Getting started
- Create an Environment and token in the portal, add an Email Provider under Provider Connections, and send a test event via the Quickstart instructions.