Emails in,
webhooks out.

Connect a mailbox, paste a URL, and you are done. Every new email reaches your webhook as clean JSON. No mail server, no parsing, no polling.

Three steps. No mail server.

Connect a mailbox, point it at a URL, and every new email arrives as JSON.

  1. Connect a mailbox

    Any IMAP server. OpenResend keeps the connection open and hears new mail the moment it lands.

  2. Add a webhook

    Paste the URL that should receive it. One mailbox can feed many webhooks, and the other way round.

  3. Receive JSON

    Every new email arrives as a POST with its headers, body and attachments, ready to use.

What your webhook receives

Every new email as one JSON request: sender, recipients, subject, date, body and attachments, plus the IDs to thread conversations and skip duplicates.

POST https://api.acme.dev/email200 OK · 182 ms
Content-Type: application/json

{
  "from": {"name": "Ana Ruiz", "address": "ana@client.io"},
  "subject": "Re: Order #4182 arrived damaged",
  "date": "2026-10-17T10:42:03Z",
  "to": [{"name": "Acme Support", "address": "support@acme.com"}],
  "cc": [{"name": "Luis Ruiz", "address": "luis@client.io"}],
  "replyTo": [{"name": "Ana Ruiz", "address": "ana.ruiz@client.io"}],
  "bcc": [],
  "text": "Hi, the package arrived with a broken corner…",
  "html": "<p>Hi, the package arrived with a broken corner…</p>",
  "attachments": [{"filename": "photo.jpg", "contentType": "image/jpeg", "size": 248113}],
  "messageId": "<CAF7x2k9d@mail.client.io>",
  "inReplyTo": "<4182.reply@acme.com>",
  "references": ["<4182@acme.com>", "<4182.reply@acme.com>"],
  "listUnsubscribe": null
}

Built in the open

Today it does one thing: IMAP in, webhooks out. Next it grows into a flow tool for data that comes and goes.

  1. Live

    Working today

    • WorkspacesSign in with Google or GitHub.
    • Flow canvasA visual editor for your flows.
  2. Now

    Building

    • IMAP triggerListens to any IMAP mailbox.
    • Webhook outputSends each email as JSON.
    • Signatures and retriesDeliveries you can verify and trust.
  3. Next

    Routing

    • FiltersRoute by sender, subject or body.
    • Delivery logSee and replay every delivery.
    • Slack and DiscordSend emails straight to chat.
    • DockerSelf-host with one command.
  4. Later

    Platform

    • MCP serverLet AI agents work with your mail.
    • Python SDKVerify and handle webhooks in Python.
    • Gmail and OutlookConnect with OAuth, no passwords.

Two ways to run it

Host it yourself for free, or let us run it for you.

Open source

Free, forever

  • Unlimited mailboxes and webhooks
  • Your mail never leaves your servers
  • Python, PostgreSQL and React
  • AGPL-3.0
View on GitHub

Cloud

Coming soon

  • Nothing to host or update
  • Connections kept alive for you
  • Same project, same payload
  • Priced per email
In the works

Follow the build.

Star the repository to see the IMAP trigger and webhook output land, or open an issue with the integration you need.