NewAgent inboxes are live

Email for apps and agents.

Transactional email, inbound parsing, and inboxes for AI agents — one API, a fraction of the price.

npm install owlpost
import { Owlpost } from 'owlpost';
const op = new Owlpost(process.env.OWLPOST_API_KEY);
await op.emails.send({
from: 'Acme <hello@acme.dev>',
to: 'ada@example.com',
template: 'welcome',
variables: { first_name: 'Ada' },
});
Watching acme.devLive events Live
  1. 09:14:08email.sentada@example.com · welcome
  2. 09:14:06email.openedada@example.com
  3. 09:14:04message.repliedsent by agent via API
  4. 09:14:02webhook.delivered200 OK · 142ms
  5. 09:14:00message.receivedsupport-agent@owlpost.to
Built on battle-tested infrastructure99.9% uptime targetSOC 2 in progress Placeholder · confirm before launch

Used in production

One API for every email your product touches.

Send it, receive it, or hand an agent its own address. Same key, same logs, same webhooks.

Send

Password resets to product launches.

Transactional and marketing email from one SDK, with templates, scheduling, and a full timeline for every message.

em_8f2kq1xwelcome → ada@example.com
  1. Queued09:14:02.118
  2. Sent09:14:02.403
  3. Delivered09:14:03.215
  4. Opened09:31:47.902
Receive

Inbound email, as JSON.

Parsed bodies, headers, and attachments, posted to your webhook.

{
  "type": "message.received",
  "from": "sam@northwind.io",
  "subject": "Invoice #2231",
  "attachments": ["inv-2231.pdf"]
}
support-agent@owlpost.toActive
Ada ParkCan't log in after resetting my password2m
Sam RiveraRe: refund for order A-10482Agent replied
no-reply@vendor.ioYour verification code483921
Agent Inboxes

A real inbox for your agent, in one call.

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.

What teams build with it.

  • 01

    Magic links

    Sign-in links and one-time codes that arrive in seconds, with retries and idempotency built in.

    template: 'magic-link'
  • 02

    Receipts

    Order confirmations and invoices with line items, rendered from typed variables.

    order_total: 237.00
  • 03

    Notifications

    Mentions, alerts, and digests on their own stream, so they never share reputation with marketing.

    stream: 'transactional'
  • 04

    Newsletters

    Product updates to your whole list. Unlimited contacts and one-click unsubscribe included.

    op.broadcasts.send()

Describe the email. Review the diff. Publish.

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.

Deliverability

The inbox, not the spam folder.

Authentication, reputation, and list hygiene run on every send. You write the email. We handle the path it takes.

  1. 01
    POST /emails

    Accepted

    Your request is validated and queued. Idempotency keys stop duplicates here.

  2. 02
    stream: transactional | marketing

    Separate sending streams

    Marketing and transactional email never share reputation, so a campaign can’t delay a password reset.

  3. 03
    DKIM · SPF · DMARC

    Signed and authenticated

    We generate the DNS records. Connect Cloudflare or Vercel and we add them for you.

  4. 04
    suppression list

    Checked before sending

    Addresses that hard-bounced, complained, or unsubscribed are skipped automatically.

  5. 05
    List-Unsubscribe

    One-click unsubscribe

    The header mailbox providers require goes on every marketing email.

  6. 06
    250 OK

    Delivered, and watched

    Bounces and spam complaints are processed as they arrive and show up in your logs and webhooks.

Built for AI coding agents

Your coding assistant already knows the API.

MCP server
Send, search logs, and create inboxes from your editor.
Skills
Instruction files that teach agents how to write templates and verify webhooks.
llms.txt
The full docs in one plain-text file, sized for a context window.

50,000 emails for $12/month.

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 pricing
Free$05,000 emails/mo3 agent inboxes
StarterPopular$12/mo50,000 emails/mo10 agent inboxes
Growth$49/mo200,000 emails/mo100 agent inboxes
Scale$249/mo1,000,000 emails/mo1,000 agent inboxes
Enterprise from 5M emails/month, with SSO, SLA, and EU region. Talk to us

The details you check before you commit.

  • SDKs

    Typed clients for Node.js, Python, Go, Rust, PHP, and Ruby. Same method names in every language.

    pip install owlpost
  • Signed webhooks

    Every payload is signed. Verify it in one line and replay any delivery from the dashboard.

    op.webhooks.verify(body, sig)
  • Idempotency keys

    Retry safely. The same key never sends the same email twice.

    Idempotency-Key: reset-u_4821
  • Logs with full timelines

    Every email from queued to clicked, with SMTP responses explained in plain language.

    queued → sent → delivered → opened
  • Test mode

    A separate key that accepts real API calls and never delivers to a real inbox.

    op_test_••••••••3f9a
  • CLI

    Send, tail logs, and forward webhooks to localhost while you build.

    owlpost listen --forward localhost:3000
Photo
Quote from design partner
Name · Role · Company

Send your first email in five minutes.

OutboundInboundAgent inboxes