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.
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"
}
}Use 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.
Use the inboxes your team already works from
Many email webhook tools expect you to create a new generated address or route a domain through their MX records. MailWebhook is built for teams that need webhook events from real mailbox workflows.
Microsoft 365
Route work mailbox and shared mailbox email into webhook workflows.
Gmail / Google Workspace
Trigger webhook events from Gmail and Workspace inboxes.
IMAP
Connect inboxes that expose IMAP without building an IMAP worker.
Hosted mailbox
Use a MailWebhook-hosted inbox when a dedicated intake address is cleaner.
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
- 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.
- Is this the same as webhook to send email?
- No. Email to webhook means inbound email triggers an HTTP event. Webhook to send email is the reverse workflow, where an HTTP event sends an outbound email.
- 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.