Password resets to product launches.
Transactional and marketing email from one SDK, with templates, scheduling, and a full timeline for every message.
- Queued09:14:02.118
- Sent09:14:02.403
- Delivered09:14:03.215
- Opened09:31:47.902
Transactional email, inbound parsing, and inboxes for AI agents — one API, a fraction of the price.
Used in production
Send it, receive it, or hand an agent its own address. Same key, same logs, same webhooks.
Transactional and marketing email from one SDK, with templates, scheduling, and a full timeline for every message.
Parsed bodies, headers, and attachments, posted to your webhook.
{
"type": "message.received",
"from": "sam@northwind.io",
"subject": "Invoice #2231",
"attachments": ["inv-2231.pdf"]
}
Persistent addresses on owlpost.to or your own domain. Threads, attachments, search, and real-time events. Inbound screening holds suspicious messages before your agent reads them.
Sign-in links and one-time codes that arrive in seconds, with retries and idempotency built in.
template: 'magic-link'Order confirmations and invoices with line items, rendered from typed variables.
order_total: 237.00Mentions, alerts, and digests on their own stream, so they never share reputation with marketing.
stream: 'transactional'Product updates to your whole list. Unlimited contacts and one-click unsubscribe included.
op.broadcasts.send()Read customer email, answer from your docs, and hand off to a person when the agent is unsure.
support@acme.devSend follow-ups from the agent’s own address and keep the full thread for context.
op.messages.reply(id)Sign up for services and read the confirmation code straight out of the inbox.
detected: 483921Pull invoices and contracts out of attachments and turn them into structured data.
attachment.type: 'pdf'A drag-and-drop editor for your marketing team and React Email support for your developers. The AI panel edits the template in place, and every change shows up as a diff you accept or reject.
Authentication, reputation, and list hygiene run on every send. You write the email. We handle the path it takes.
Your request is validated and queued. Idempotency keys stop duplicates here.
Marketing and transactional email never share reputation, so a campaign can’t delay a password reset.
We generate the DNS records. Connect Cloudflare or Vercel and we add them for you.
Addresses that hard-bounced, complained, or unsubscribed are skipped automatically.
The header mailbox providers require goes on every marketing email.
Bounces and spam complaints are processed as they arrive and show up in your logs and webhooks.
Includes 10 agent inboxes and unlimited domains. Inbound email counts toward the same allowance. Unlimited contacts: we charge for emails sent, never for the size of your list.
See full pricingTyped clients for Node.js, Python, Go, Rust, PHP, and Ruby. Same method names in every language.
pip install owlpostEvery payload is signed. Verify it in one line and replay any delivery from the dashboard.
op.webhooks.verify(body, sig)Retry safely. The same key never sends the same email twice.
Idempotency-Key: reset-u_4821Every email from queued to clicked, with SMTP responses explained in plain language.
queued → sent → delivered → openedA separate key that accepts real API calls and never delivers to a real inbox.
op_test_••••••••3f9aSend, tail logs, and forward webhooks to localhost while you build.
owlpost listen --forward localhost:3000Quote from design partner