Docs / Roadmap
Planned for v1.0v1.0 roadmap
One item is left: the delivery-status webhook events. The signed webhook itself — the endpoint, the HMAC signature, the retry ladder, the delivery log — ships today; what does not is the delivered and bounced half of the lifecycle. None of the wire shapes here are committed yet — treat them as drafts and pin us in the dashboard changelog when they ship.
These items are subject to change as the milestone hardens. When a feature lands, this page (and the matching /docs/* page that owns the detail) move together in the same PR.
Delivery-status webhooks
The signed webhook fires for message.received and message.sent today. The delivery-status events — message.delivered and message.bounced — are the residual: the receive worker owns those transitions and the platform never sees them, so reporting them means changing the ingest contract, which is out of scope for this milestone.
- Until then, poll fm.messages.status(id) — today it answers sent or failed. The vocabulary also holds delivered / bounced, but the worker has no bounce ingestion, so a bounce is not observable at all.
- The delivery log already shows every attempt of the two events that do fire, for 30 days.
- When the worker starts reporting status transitions, the webhook gains the two events and this entry closes.
// What ships today
POST <your-webhook-url>
Content-Type: application/json
X-Flowmails-Signature: sha256=<hex>
X-Flowmails-Timestamp: <unix seconds>
X-Flowmails-Event: message.sent
X-Flowmails-Delivery-Id: <stable across retries>
{
"id": "whd_8421",
"event": "message.sent",
"createdAt": "2026-07-06T12:34:56.000Z",
"data": {
"messageId": "<msg@example.com>",
"from": "billing@example.com",
"to": "ops@example.net",
"subject": "Your invoice is ready"
}
}What v1.0 is not
- Marketing email platform. Flowmails is built for transactional and operational mail, not bulk campaigns.
- Team accounts. There are no workspaces in v1 — every credential belongs to exactly one account, and reads are scoped to it.
- Webhook signing-key rotation. Each endpoint’s secret is minted once and shown once; rotating it invalidates the stored secret, so the endpoints have to be re-created.
Ship today