Inbound email infrastructure for developers

MailWebhook turns inboxes into signed JSON events

Connect Gmail, Microsoft 365, Outlook, or IMAP mailboxes, route recurring messages, and deliver reliable webhook payloads without polling scripts.

300 emails/month freeHMAC signed webhooksEU data residency

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!
reply_only
Strip quoted replies and signatures
key_values
Extract labeled fields automatically
urls
Capture links and tracking URLs

How it works

From mailbox to webhook in four simple steps

01

Connect Your Mailbox

Link Gmail, Microsoft 365, or any IMAP mailbox. Or use our hosted mailbox for quick setup.

02

Configure Filters

Set up routing rules with conditions. Filter by sender, subject, body content, or custom patterns.

03

Transform to JSON

Define your output schema. Extract headers, body, attachments, and metadata into structured JSON.

04

Deliver Webhooks

Receive reliable webhook deliveries with retries, HMAC signatures, and delivery confirmations.

// Example webhook payload
{
  "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.

Gmail
Native OAuth integration with push notifications (no polling delay)
OAuth 2.0
Microsoft 365
Outlook and Office 365 mailboxes with secure authentication
OAuth 2.0
IMAP
Connect any email provider with standard IMAP credentials
Universal
Hosted Mailbox
Get a @mailwebhook.com address in minutes for testing or production
Zero config

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

EU Data Residency
GDPR-compliant processing with European hosting

Built-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_segments

Extract only the new reply text, stripping quoted content, signatures, and forwarded messages.

Key/Value Pairs

call.extract.key_value_pairs

Parse labeled fields like "Order ID: 12345" into structured objects without regex.

Tables

call.extract.tables

Convert HTML tables from order confirmations, reports, and notifications into JSON arrays.

URLs

call.extract.urls

Extract URLs from HTML (href, src, action attributes) or text with Markdown link support.

Bullet List

call.extract.bullet_list

Parse bullet points and numbered lists into clean arrays for processing.

HTML to Text

call.transform.html_to_text

Convert HTML to plain text with optional text fallback. Returns text directly if provided.

DOM Extraction

call.extract.dom

Query 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.

FeatureMailWebhookZapierSendGridMailparser
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
15min
Zapier polling delay vs MailWebhook push delivery
$0
No per-task fees. Simple email-based pricing.
100%
Deterministic output. No ML variance or training.

Simple pricing, no task fees

Start free. Paid plans scale by email volume, connected mailboxes, routes, storage, and polling interval.

PlanPriceIncluded volume
Free$0300 emails/month
Starter$29/mo5,000 emails/month
Pro$99/mo50,000 emails/month
Business$399/mo250,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.

Start extracting in under 5 minutes

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.

No credit card required300 emails/month freeCancel anytime