Changelog
Version history and recent changes to Robotomail.
April 9, 2026
Inbound attachments
- Inbound message attachments are now extracted automatically and uploaded to R2. Each attachment is linked to the inbound
Messagerow and surfaced via the REST API and the webhook/SSE event payloads. - REST API:
GET /v1/mailboxes/:id/messages/:msgIdreturns inbound messages with new fieldshasAttachments,attachmentsDropped,attachmentsDroppedReason, and anattachments[]array (callGET /v1/attachments/:idper attachment to get a presigned download URL). NewcontentIdfield on each attachment for inline image rewriting. message.receivedwebhook and SSE payloads now include theattachmentsarray with a fresh presigneddownload_urlper attachment, materialized at delivery time. Inline image parts includecontent_idmatching the original Content-ID header.- Limits: 25 MB per attachment, 20 attachments per inbound message. Over-cap parts are dropped; the message body is still ingested with
attachments_dropped: trueandattachments_dropped_reason:"size","count", or"both". - See Inbound attachments for the full schema, the inline-image rewrite examples, and the storage quota semantics.
Webhook delivery is at-least-once (action required)
- Every webhook POST now includes a new
X-Robotomail-Delivery-Idheader containing a stable UUID for that delivery. The same delivery ID is sent on every retry; distinct deliveries always have distinct IDs. - Your endpoint MUST dedupe on this header. Webhook delivery is at-least-once — if a network blip happens between us receiving HTTP 200 and recording success, we will retry. The dedupe row and your business logic must commit atomically (in a single DB transaction) to avoid silently losing events on handler failures.
- See Webhook delivery is at-least-once for the full code example using the verify→transactional-dedup→commit pattern.
April 2, 2026
Multi-tier pricing
- New 4-tier pricing: Free ($0), Developer ($19/mo), Growth ($79/mo), Scale ($199/mo)
- Free tier expanded — 3 platform mailboxes (was 1), 100 sends/day (was 50), 5,000/mo (was 1,000)
- Custom domain limits per tier — Developer: 1, Growth: 5, Scale: unlimited
- Unlimited monthly sending on Growth and Scale
- Immediate plan switching via Stripe Customer Portal with automatic proration
CLI
- CLI v0.1.7 —
robotomail upgradenow accepts--plan developer|growth|scale
March 30, 2026
Claude Code channel plugin
- Robotomail channel plugin for Claude Code — receive and reply to emails directly in your Claude Code session
- Connects to SSE endpoint, pushes inbound emails as notifications, Claude replies using
reply_emailandsend_emailtools - Install with Bun, free tier compatible
March 29, 2026
Dashboard
- Support contact form — reach us directly from the dashboard
Misc
- Custom 404 and 500 error pages
- 29 additional reserved slugs to prevent squatting on common terms
March 26, 2026
Send accounting
- Daily and monthly send quotas now count per recipient, not per message
- Recipient caps: 50 per
tofield, 50 perccfield
March 24, 2026
Abuse prevention
- Account and mailbox suspension on bounce/complaint threshold breaches (3% bounce, 0.05% complaint over 7-day window)
- Send velocity limiting — 30 messages/min per mailbox, 60/min per account
- Suspended accounts receive structured 403 responses with reason and support contact
GET /v1/accountnow returns suspension status
CLI
- CLI v0.1.6 — suspension and rate-limit detection with actionable error messages on all write commands
March 22, 2026
Content
- Blog with developer guides on agent email architecture, infrastructure, and integration
- 20 use case pages covering agent email scenarios (customer support, sales outreach, recruiting, and more)
- Comparison pages: Robotomail vs SendGrid, Mailgun, and Gmail API
- About page
March 20, 2026
Dashboard
- DNS records modal — view and copy DNS records for custom domains, trigger verification inline
- Relative hostnames displayed for registrar compatibility (Namecheap, Cloudflare, GoDaddy)
March 19, 2026
OpenClaw skill
- Published Robotomail as an OpenClaw skill on ClawHub — AI agents can now discover and use Robotomail across 30+ agent platforms (Claude Code, Cursor, Gemini CLI, and more)
- Skill includes full API reference, decision trees for common workflows, and webhook verification examples
- Install with
clawhub install robotomail
March 18, 2026
Real-time event streaming (SSE)
- New
GET /v1/eventsendpoint — real-time Server-Sent Events stream for receiving events without webhooks - Supports all 5 event types:
message.received,message.sent,message.delivered,message.bounced,message.complaint - Automatic replay on reconnect via
Last-Event-IDheader (buffer: last 100 events, 1-hour TTL) - Scoped API key filtering — scoped keys only receive events for their permitted mailboxes
- Connection limits: 5 concurrent per user, 4.5-minute lifetime with graceful reconnect signal
CLI listen command
- New
robotomail listencommand — stream events in your terminal (likestripe listen) --forward-to <url>— forward events to a local HTTP endpoint with HMAC-SHA256 signatures--json— output NDJSON for piping tojqand other tools--mailboxand--eventsfilters- Auto-reconnect with exponential backoff; exits immediately on auth/validation errors
Documentation
- New Events (SSE) API docs page with connection guide, payload schemas for all 5 event types, and reconnection reference
- Webhook payload schema reference added to Webhooks API page
- CLI docs updated with listen command
March 13, 2026
Email delivery
- Migrated outbound email to Resend for improved deliverability
- Delivery status tracking via webhooks (bounces, complaints, delivery confirmations)
- Total message size limit increased from 10 MB to 40 MB
- Automatic retry with backoff on rate limits
- Platform email addresses are now
slug@robotomail.co— simpler, no DNS setup needed per account - Default mailbox auto-created at signup
- Display name support — set via
PATCH /v1/mailboxes/:idso emails show"Name" <slug@robotomail.co> - Auto-quoting in replies — original message included as quoted block when
inReplyTois set
Account management
- Added
DELETE /v1/accountendpoint for permanent account deletion - Account deletion available in dashboard settings
Documentation
- All docs pages available as markdown at
/docs/*.md(e.g./docs/quickstart.md) - Content negotiation: request docs with
Accept: text/markdownheader - Navigation links in markdown views for prev/next page browsing
March 11, 2026
Documentation
- Launched API documentation at /docs — overview, concepts, API reference, guides, and CLI
Features
- Health endpoint (
GET /api/health) and public status page - New webhook events:
message.deliveredandmessage.complaint - Account status endpoint (
GET /v1/account) — check plan, limits, and verification state
March 6, 2026
- Resend outbound relay — all outbound email now sent via Resend for reliable delivery
- Resend webhook processing for delivery confirmations, bounces, and complaints
- Custom domain registration with Resend DKIM
- Automatic suppression list management
March 1, 2026
- Initial launch with full send/receive API
- Stalwart-based mail server for inbound and outbound
- Webhook system with signature verification
- CLI package (
@robotomail/cli) - Stripe billing integration
- Agent skill page for self-service onboarding