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.
Connect a mailbox
Any IMAP server. OpenResend keeps the connection open and hears new mail the moment it lands.
Add a webhook
Paste the URL that should receive it. One mailbox can feed many webhooks, and the other way round.
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.
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.
Live
Working today
- WorkspacesSign in with Google or GitHub.
- Flow canvasA visual editor for your flows.
Now
Building
- IMAP triggerListens to any IMAP mailbox.
- Webhook outputSends each email as JSON.
- Signatures and retriesDeliveries you can verify and trust.
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.
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
Cloud
Coming soon
- Nothing to host or update
- Connections kept alive for you
- Same project, same payload
- Priced per email
Follow the build.
Star the repository to see the IMAP trigger and webhook output land, or open an issue with the integration you need.