Convert inbound email into JSON webhooks
MailWebhook connects Gmail, Microsoft 365, IMAP, or hosted mailboxes, normalizes each message, shapes the payload, and delivers signed webhook events to your application.
Built for inbound email webhooks, mail-to-webhook workflows, email parsing, and email-to-JSON automation.
{
"schema": { "name": "mailwebhook.generic", "version": "1" },
"event": {
"id": "6ff49aa1-7050-4ad1-95d9-2711f2ca7e88",
"route_id": "2f3713bf-88cc-46c6-aaa3-ea9d6e9d20f3",
"created_at": "2026-06-26T10:14:32Z"
},
"message": {
"message_id": "<invoice-1042@example.com>",
"subject": "Invoice 1042",
"date": "2026-06-26T10:13:59Z",
"from": [{ "email": "billing@vendor.example", "name": "Vendor Billing" }],
"to": [{ "email": "ap@company.com" }]
},
"body": {
"text": "Please review invoice 1042.",
"attachments": []
},
"meta": {
"source": "gmail",
"raw_size_bytes": 26546,
"received_at": "2026-06-26T10:14:32Z"
}
}What is email to webhook?
Email to webhook is a way to trigger an HTTP request when an email is received. Instead of checking an inbox manually or polling IMAP from your application, each inbound message becomes a structured event your system can process.
MailWebhook handles the hard parts in between: mailbox connection, MIME parsing, header normalization, body cleanup, field extraction, JSON shaping, signed delivery headers, and delivery to your webhook endpoint. It turns mail-to-webhook and incoming email webhook workflows into a managed pipeline so you can receive email webhook events without maintaining parser code.
Choose the mailbox source behind your webhook
Email-to-webhook projects usually start from an existing inbox, not a blank integration. Choose the source that already receives the messages, then route matching email into signed JSON webhook events.
Gmail / Google Workspace
Trigger webhook events from Gmail and Workspace inboxes without forwarding rules.
Microsoft 365 / Outlook
Route work mailbox and shared mailbox email into webhook workflows.
IMAP
Connect any inbox that exposes IMAP without building an IMAP worker.
Hosted mailbox
Use a MailWebhook-hosted intake address when a dedicated inbox is cleaner.
From inbox to webhook in five steps
A managed pipeline that takes inbound email from a real mailbox to a signed webhook event your application can trust.
- 01
Connect a mailbox
Use Gmail, Microsoft 365, IMAP, or a hosted mailbox as the email source.
- 02
Receive inbound email
MailWebhook watches for new messages and turns them into route events.
- 03
Normalize the message
Headers, senders, recipients, bodies, attachments, and timestamps become a stable structure.
- 04
Shape the JSON
Use the generic payload or map extracted fields into the exact JSON your app expects.
- 05
Deliver the webhook
Send the payload to your endpoint with X-MailWebhook-Signature and X-Idempotency-Key headers.
A webhook payload your app can work with
Raw email is messy. MailWebhook turns each message into predictable JSON, then lets you map the output to the fields your downstream system needs.
{
"schema": { "name": "mailwebhook.generic", "version": "1" },
"event": {
"id": "6ff49aa1-7050-4ad1-95d9-2711f2ca7e88",
"project_id": "dca29061-c4a7-4687-a8dd-24d2f26548c7",
"route_id": "2f3713bf-88cc-46c6-aaa3-ea9d6e9d20f3",
"created_at": "2026-06-26T10:14:32Z"
},
"message": {
"message_id": "<invoice-1042@example.com>",
"message_id_type": "original",
"subject": "Invoice 1042",
"date": "2026-06-26T10:13:59Z",
"from": [{ "email": "billing@vendor.example", "name": "Vendor Billing" }],
"to": [{ "email": "ap@company.com" }],
"headers": {
"message-id": "<invoice-1042@example.com>",
"content-type": "multipart/mixed"
}
},
"body": {
"text": "Please review invoice 1042.",
"attachments": [
{
"id": "9f5a1ded-538d-4f5f-a7a9-d3eacf9e58a0",
"filename": "invoice-1042.pdf",
"content_type": "application/pdf",
"size": 93259,
"is_inline": false,
"sha256": "059a0f5260487bbe663994de1fd641401fec76ac9f6bddfe5b53ae60d4bb2d86"
}
]
},
"meta": {
"source": "gmail",
"raw_size_bytes": 26546,
"received_at": "2026-06-26T10:14:32Z"
}
}Helpful tools
Inspect how raw email becomes JSON and validate deliveries before you wire up a production endpoint.
MIME Parsing Assessment
See how raw MIME messages break down into parts, bodies, and attachments.
Open MIME assessmentWebhook Payload Differ
Diff two JSON deliveries to catch schema or mapper changes.
Open payload differJSON Schema Validator
Test payloads against a JSON Schema before connecting production systems.
Open JSON validatorUse email as an input to your application
Inbound email webhooks power support, finance, automation, and integration workflows across technical and operations teams.
Support intake
Turn support emails into tickets, triage events, or agent workflows.
Invoice and order processing
Extract invoice IDs, totals, order numbers, and sender details before webhook delivery.
AI agent inboxes
Let agents receive real email events without granting them direct mailbox control.
Data entry automation
Move structured fields from recurring emails into CRMs, ERPs, and internal tools.
Legacy integration
Connect systems that still send email to modern HTTP workflows.
Alerts and notifications
Route mailbox notifications into incident, monitoring, or workflow systems.
The webhook is the easy part. Email is the hard part.
A basic webhook endpoint is simple. Production email intake is not. Once you rely on inbound email, you need mailbox connection, MIME parsing, attachment handling, reply cleanup, duplicate protection, signature checks, retries, monitoring, and schema changes.
DIY email parser
- Maintain IMAP or provider API workers
- Parse MIME, headers, bodies, and attachments
- Write extraction and mapping glue
- Handle duplicate protection and endpoint safety
- Debug from traces scattered across services
MailWebhook
- Connect supported mailboxes and routes
- Receive normalized email events
- Shape payloads before delivery
- Use signed delivery and idempotency headers
- Inspect route events and webhook payloads
Everything between the inbox and your endpoint
Enough detail to evaluate the pipeline without turning the page into documentation.
Mailbox intake
Gmail, Microsoft 365, IMAP, and hosted mailbox options.
Deterministic normalization
Stable sender, recipient, header, body, attachment, and timestamp structure.
Extraction helpers
Pull out reply content, URLs, key/value pairs, tables, lists, and DOM fields before delivery.
Custom JSON mapping
Send downstream systems the shape they expect instead of translating after receipt.
Webhook delivery
Deliver events with X-MailWebhook-Signature and X-Idempotency-Key headers for safe processing.
Inspection
Preview and inspect route events so you can confirm the payload before it reaches production.
Where MailWebhook fits
MailWebhook is not a generic mailbox API, a one-off parser mailbox, or a raw inbound-post endpoint. It is a focused email-to-webhook pipeline for teams that want mailbox messages delivered as structured events.
Compared with mailbox APIs
Mailbox APIs expose primitives. MailWebhook packages the email intake, normalization, mapping, and webhook delivery workflow.
Compared with parser tools
Parser tools often export parsed results from a separate parser mailbox. MailWebhook focuses on turning the original inbound message into a shaped webhook payload.
Compared with MX-only inbound tools
MX-first tools are useful for dedicated domains. MailWebhook also supports existing mailbox workflows where the inbox is already the source of truth.
Designed for webhook receivers that need predictable events
- Signed webhook delivery so your endpoint can verify the sender.
- An X-Idempotency-Key header so duplicate delivery can be handled safely.
- Structured payloads so downstream code does not depend on raw email quirks.
- Attachment and body handling designed for real inbound messages.
- Route-level configuration so different inbox workflows can produce different payloads.
Start free, scale when you need to
The Free plan includes 300 emails/month at no cost. Paid plans start at $29/per month with a 30-day free trial.
- HMAC-signed webhook delivery
- Automatic retries with backoff
- Event inspector and replay
- Idempotency keys for safe dedupe
Email to webhook FAQ
- How do I forward email to a webhook URL?
- Connect the mailbox that already receives the email (Gmail, Microsoft 365, IMAP, or a hosted MailWebhook address), create a route with the matching rules, and set your HTTPS endpoint as the destination. MailWebhook then delivers each matching message to that webhook URL as a signed JSON request, with retries for failed deliveries.
- What is the difference between email to webhook and webhook to email?
- Email to webhook means an inbound email triggers an outbound HTTP request to your application. Webhook to email is the reverse: an HTTP event from your system sends an outbound email. MailWebhook handles the inbound direction, turning received email into webhook events.
- How do I receive inbound email as JSON?
- MailWebhook parses each inbound message and delivers it as JSON: normalized headers, sender and recipient details, cleaned text and HTML bodies, extracted fields, and attachment metadata. You can use the generic payload or map fields into a custom JSON shape for the receiving system.
- Can Gmail send email to a webhook?
- Gmail does not natively send every received email to an arbitrary webhook URL the way a webhook-first product does. MailWebhook provides a managed path for turning supported Gmail or Google Workspace mailbox messages into webhook events.
- Can Microsoft 365 work email trigger a webhook?
- Yes. MailWebhook supports Microsoft 365 and Outlook mailbox workflows.
- What is an email webhook URL?
- An email webhook URL is the HTTP endpoint that receives a request when an email event is delivered. Your application listens at that URL, verifies the request, and processes the JSON payload.
- Can I convert email to JSON before sending the webhook?
- Yes. MailWebhook can deliver a generic normalized payload or a mapped JSON payload shaped for the receiving system.
- What happens if the same email is delivered twice?
- Webhook receivers should be idempotent. MailWebhook sends an X-Idempotency-Key header so your application can detect and safely ignore duplicate processing.
- Do I need to change MX records?
- Not always. MailWebhook supports existing-mailbox workflows as well as hosted mailbox options, so the right setup depends on where the source email already lives.
- How is this different from a parser tool?
- Parser tools often focus on extracting fields from forwarded emails. MailWebhook focuses on the full pipeline from mailbox intake to structured, signed webhook delivery.
Turn your next inbound email into a webhook event
Create a route, connect a mailbox, and send structured email events to your application without building another parser pipeline.