From messy emails to clean JSON
MailWebhook extracts structured data from recurring email formats using deterministic rules, not probabilistic AI.
From: orders@shop.example.com
Subject: Order Confirmation #12345
Hi John,
Thank you for your order!
Order ID: 12345
Product: Premium Widget
Quantity: 2
Total: $149.99
Shipping to:
123 Main St, City, ST 12345
Track your order: https://track.example.com/12345
Best regards,
Shop Team
---
Previous message:
Thanks for shopping with us!How it works
From mailbox to webhook in four simple steps
Connect Your Mailbox
Link Gmail, Microsoft 365, or any IMAP mailbox. Or use our hosted mailbox for quick setup.
Configure Filters
Set up routing rules with conditions. Filter by sender, subject, body content, or custom patterns.
Transform to JSON
Define your output schema. Extract headers, body, attachments, and metadata into structured JSON.
Deliver Webhooks
Receive reliable webhook deliveries with retries, HMAC signatures, and delivery confirmations.
{
"schema": { "name": "mailwebhook.generic", "version": "1" },
"event": {
"id": "6ff49aa1-7050-4ad1-95d9-2711f2ca7e88",
"route_id": "2f3713bf-88cc-46c6-aaa3-ea9d6e9d20f3",
"created_at": "2025-12-17T16:02:33Z"
},
"message": {
"subject": "Invoice #4521 from Acme Corp",
"date": "2025-12-17T15:49:11Z",
"from": [{ "email": "billing@acmecorp.com", "name": "Acme Corp" }],
"to": [{ "email": "invoices@yourapp.com" }]
},
"body": {
"text": "Please find attached invoice #4521...",
"attachments": [{
"filename": "invoice-4521.pdf",
"content_type": "application/pdf",
"size": 93259
}]
},
"meta": {
"source": "imap",
"received_at": "2025-12-17T15:49:14Z"
}
}Connect any mailbox
Native OAuth for Gmail and Microsoft 365, plus universal IMAP support. Or use a hosted mailbox with zero configuration.
Production-ready delivery
Enterprise-grade webhook infrastructure with security and reliability built in.
Near real-time delivery
Push notifications for Gmail and M365, configurable polling for IMAP
HMAC signatures
Every webhook is cryptographically signed for verification
Automatic retries
Exponential backoff with replay and dead-letter handling
Multi-route support
Send different emails to different endpoints based on rules
Validate your setup before production
Free, no-login tools to test signatures and payload shapes before you point a production endpoint at MailWebhook.
Verify webhook signatures
Check HMAC signatures locally before your endpoint goes live.
Open HMAC verifierCompare webhook payloads
Diff two JSON deliveries to catch schema or mapper changes.
Open payload differValidate JSON shape
Test payloads against a JSON Schema before connecting production systems.
Open JSON validatorBuilt-in extractors
Extract common patterns without writing custom code. All extractors are deterministic, auditable, and fail safely with null on errors.
Reply Segments
call.extract.reply_segmentsExtract only the new reply text, stripping quoted content, signatures, and forwarded messages.
Key/Value Pairs
call.extract.key_value_pairsParse labeled fields like "Order ID: 12345" into structured objects without regex.
Tables
call.extract.tablesConvert HTML tables from order confirmations, reports, and notifications into JSON arrays.
URLs
call.extract.urlsExtract URLs from HTML (href, src, action attributes) or text with Markdown link support.
Bullet List
call.extract.bullet_listParse bullet points and numbered lists into clean arrays for processing.
HTML to Text
call.transform.html_to_textConvert HTML to plain text with optional text fallback. Returns text directly if provided.
DOM Extraction
call.extract.domQuery HTML using CSS selectors to extract specific elements, attributes, or text content.
Combine extractors with the Custom JSON mapper to build any output schema you need.
Common email to webhook use cases
Turn any inbound email workflow into an automated, event-driven pipeline
Support ticket automation
Route inbound support emails directly into your ticketing system as structured events. Filter by sender domain, subject pattern, or body content and deliver a clean JSON payload to your API without manual triage.
Order and invoice processing
Receive supplier invoices, order confirmations, and shipping notifications by email and convert them into webhook events your ERP or finance system can consume immediately — with attachment metadata included for document retrieval.
Vendor and partner notification handling
Process automated notifications from vendors, payment processors, and logistics partners that still send via email. Route each sender to the right internal endpoint without building or maintaining custom IMAP integrations.
System alert and monitoring pipelines
Forward infrastructure alerts, error digests, and monitoring notifications arriving by email into your observability stack or incident management system in near real time, with retry guarantees and full delivery history.
Why MailWebhook?
Purpose-built for deterministic email extraction. Not a generic automation tool or email API with parsing bolted on.
| Feature | MailWebhook | Zapier | SendGrid | Mailparser |
|---|---|---|---|---|
Deterministic extraction DSL Predictable, auditable output | MailWebhook: Deterministic extraction DSL — Yes | Zapier: Deterministic extraction DSL — No | SendGrid: Deterministic extraction DSL — No | Mailparser: Deterministic extraction DSL — Partial |
Reply segmentation Strip quoted content automatically | MailWebhook: Reply segmentation — Yes | Zapier: Reply segmentation — No | SendGrid: Reply segmentation — No | Mailparser: Reply segmentation — Yes |
Key/value extraction Parse labeled fields | MailWebhook: Key/value extraction — Yes | Zapier: Key/value extraction — No | SendGrid: Key/value extraction — No | Mailparser: Key/value extraction — Yes |
HTML table parsing Convert tables to JSON | MailWebhook: HTML table parsing — Yes | Zapier: HTML table parsing — No | SendGrid: HTML table parsing — No | Mailparser: HTML table parsing — Yes |
Custom JSON schema Full control over output | MailWebhook: Custom JSON schema — Yes | Zapier: Custom JSON schema — No | SendGrid: Custom JSON schema — No | Mailparser: Custom JSON schema — Partial |
Gmail/M365 OAuth Native authentication | MailWebhook: Gmail/M365 OAuth — Yes | Zapier: Gmail/M365 OAuth — Yes | SendGrid: Gmail/M365 OAuth — No | Mailparser: Gmail/M365 OAuth — Yes |
HMAC signatures Verify webhook authenticity | MailWebhook: HMAC signatures — Yes | Zapier: HMAC signatures — No | SendGrid: HMAC signatures — Yes | Mailparser: HMAC signatures — No |
EU data residency GDPR compliance | MailWebhook: EU data residency — Yes | Zapier: EU data residency — No | SendGrid: EU data residency — No | Mailparser: EU data residency — No |
Push delivery (not polling) No polling delay | MailWebhook: Push delivery (not polling) — Yes | Zapier: Push delivery (not polling) — No | SendGrid: Push delivery (not polling) — Yes | Mailparser: Push delivery (not polling) — Partial |
Free tier Monthly email limit | 300/mo | limited | limited | limited |
Simple pricing, no task fees
Start free. Paid plans scale by email volume, connected mailboxes, routes, storage, and polling interval.
| Plan | Price | Included volume |
|---|---|---|
| Free | $0 | 300 emails/month |
| Starter | $29/mo | 5,000 emails/month |
| Pro | $99/mo | 50,000 emails/month |
| Business | $399/mo | 250,000 emails/month |
All plans include HMAC-signed webhooks, automatic retries, event inspection, CLI access, and EU data residency options.
Frequently asked questions
What is email to webhook?
Email to webhook means converting an inbound email into an HTTP POST request sent to a URL your application controls. Instead of polling a mailbox, your system receives structured JSON automatically the moment a message arrives.
How does email to webhook work?
MailWebhook monitors your connected mailbox or hosted address, parses each incoming message, applies your routing rules, transforms the content into a deterministic JSON payload, and delivers it to your endpoint via HTTP POST — with automatic retries and HMAC signature verification included.
When should I use email to webhook instead of polling?
Use email to webhook when message latency matters, when inbox volume is growing beyond what a polling loop handles reliably, or when the workflow downstream expects event-driven input rather than scheduled batch processing. Webhooks also eliminate the server overhead of constant API polling.
What does a MailWebhook payload look like?
Each delivery is a JSON POST containing a schema identifier, event metadata, the normalized message (from, to, subject, date, text and HTML body), attachment descriptors, and raw headers. The structure is deterministic — the same input class always produces the same output shape.
Is email to webhook secure?
Yes. Every webhook delivery includes an HMAC signature header your endpoint can verify to confirm the request came from MailWebhook. Outbound delivery targets are restricted to public HTTPS endpoints, and all attachment retrieval requires authenticated pre-signed URLs.
Which email providers does MailWebhook support?
MailWebhook connects to Gmail, Microsoft 365, and any IMAP mailbox. You can also use a MailWebhook-hosted address for quick setup without configuring an existing provider.
Explore email to webhook by source and use case
Start with the email to webhook guide, then dive into the mailbox or workflow that matches your stack.
Email to Webhook
The complete guide to turning any inbound email into a structured JSON webhook.
Email Webhook API
Receive inbound email as signed JSON webhook POSTs with routes, payload control, and replay.
Email to JSON
Convert inbound email into normalized or custom-shaped JSON with built-in extraction helpers.
Gmail to Webhook
Send Gmail and Google Workspace messages to your endpoints as JSON.
Microsoft 365 Email to Webhook
Convert Microsoft 365, Office 365, and Outlook email into signed webhooks.
IMAP to Webhook
Connect any IMAP mailbox and deliver normalized email events to your app.
Email API for AI Agents
Trigger agent workers from signed email events without polling mailboxes or sending raw messages and attachments into the model.
Email Data Entry Automation
Extract fields from inbound email and push them straight into your systems.
Stop writing IMAP scripts.
Start shipping features.
Replace fragile email parsing code with a reliable extraction pipeline. Get structured JSON from any mailbox with built-in retries, signatures, and replay.