Inbound email to your endpoint

Email to Webhook, Forward Email or Gmail to a Webhook as Parsed JSON

Every parsed email arrives at your endpoint as a signed JSON record

Connect a mailbox or forward mail to your team address, name the values you need, and add an https URL. Each new message is parsed and POSTed to your webhook with sender, subject, dates, your custom fields and line items in the same JSON shape as the MailParse API.

HMAC-SHA256 signed
Named fields, not raw MIME
Gmail, IMAP & forwarding address
Same JSON as the API
Create your account

Webhooks are part of every paid plan. Add the URL on the Mailboxes screen.

Convert your email files
No install

Connect a Gmail or IMAP mailbox to parse new mail automatically, or paste an email below to test the converter now.

or paste an email to test
Output format
Columns to extract
Extract your own custom fields
Popular:

Create a free account to download. No credit card required.

Quick answer

An email to webhook service turns each incoming message into an HTTP POST to a URL you control. Most services post the raw headers and body and leave the parsing to you. MailParse posts the fields you named, such as an order number, a total or each line of an HTML table, as signed JSON, from a connected Gmail or IMAP mailbox or from a forwarding address.

record.parsed
Event sent per email
HMAC-SHA256
Signature on every POST
5 min
Forwarding address check
https only
No redirects, no private IPs

Most "email to webhook" tools solve the plumbing: they give you an inbound address, receive the message and POST it somewhere. What lands at your endpoint is the envelope, the headers, a text part, an HTML part and a list of attachments. The order number is still somewhere inside a paragraph, and the six products are still rows of an HTML table your code now has to find.

That parsing step is where the real cost sits. Every sender formats mail differently, templates change without notice, and the regex that worked in March breaks in June. MailParse moves the parsing in front of the webhook. You name the values once (order_id, total, ship_date, customer_email), and each record that reaches your URL already carries them as JSON keys, with table rows in a line_items array.

It works with the mail you already have. Connect Gmail or any IMAP mailbox and new messages are picked up on the sync schedule. For Outlook, Microsoft 365 or a vendor system that can only send mail, set a forwarding rule to your team forwarding address. Either way the same parsed record goes to your webhook, to the API and to your CSV or Excel export.

What the email to webhook feature sends

Built for developers and ops teams who want clean records at an endpoint, not another MIME parser to maintain.

Named fields as JSON keys

Values you define, such as an invoice number, an amount or a tracking code, arrive as their own keys next to from, to, cc, date and subject.

Line items as an array

When an email carries an HTML table of products or charges, each row becomes an entry in line_items instead of one blob of text.

Signed like Stripe

Every POST carries a MailParse-Signature header with a timestamp and an HMAC-SHA256 of the timestamp and body, keyed with a secret only your team sees.

Reply text separated

body_new holds what the sender just wrote and body_quoted holds the thread below it, so a long back and forth does not pollute your data.

Three ways in

A connected Gmail or IMAP mailbox, a forwarding address for Outlook and vendor systems, or files you upload in the app. All of them trigger the same webhook.

Delivery log per endpoint

The Mailboxes screen shows the last status code, the last error, the delivery count and the failure count for each URL, so a broken receiver is visible fast.

How to forward email to a webhook with MailParse

Four steps from an inbox to parsed JSON at your endpoint.

1

Choose where the mail comes from

Connect Gmail or another IMAP mailbox, or copy your team forwarding address and point an Outlook or vendor forwarding rule at it.

2

Name the values you need

Parse a sample message and name the fields your system expects, such as order_id or total. Standard headers are included automatically.

3

Add your https endpoint

Paste the URL on the Mailboxes screen. You get a signing secret. The URL must be public https, with no redirects and no private network address.

4

Verify and use the record

Check the MailParse-Signature header, read the record object, and write it to your database, queue, CRM or ticketing system.

Emails flowing through a parser into structured records delivered to a server endpoint

Who sends parsed email to a webhook

Teams whose systems learn about orders, leads and alerts by email, and who are tired of retyping them.

Ecommerce and fulfillment

Marketplace and supplier order emails become records with order ID, SKU lines and ship-to address, posted straight into the order system or a warehouse queue.

Sales and RevOps

Lead notifications from marketplaces, partners and web forms arrive as structured leads your endpoint can push into Salesforce, HubSpot or a routing service.

Finance and AP

Invoice and payment notification emails post vendor, invoice number, date and amount to the service that feeds QuickBooks, NetSuite or an approval workflow.

IT and support operations

Monitoring alerts and vendor notices become tickets with the right fields filled in, instead of one long description someone has to read.

Why parse before the webhook

Your code stops parsing MIME

Raw inbound services hand you headers and body parts. MailParse hands you the values, so your receiver is a few lines that validate a signature and save a record.

No MX record changes

Raw inbound services need a domain or subdomain pointed at them. MailParse can read the mailbox you already use over IMAP, or take mail by forwarding.

The same record everywhere

What reaches your webhook is exactly what the API returns and what the CSV and Excel exports contain, so reporting and integration never disagree.

Honest about latency

The forwarding address is checked every 5 minutes and connected mailboxes sync every 15. If you need sub-second delivery, a raw inbound SMTP service is the better fit.

Ways to turn email into a webhook, compared

Four common routes from an email to an HTTP POST. Each is the right answer for someone. For request and response parsing instead of push, see the email parser API.

What matters MailParse Raw inbound email service Zapier Gmail to Webhooks Gmail API with Pub/Sub
What reaches your URL A parsed record with your named fields, line items and standard headers Headers, text and HTML parts and attachments, unparsed Fields Zapier exposes from Gmail, plus anything you map by hand A notification with a history ID, then you fetch and parse the message yourself
Values from the body Yes, name a field once and it becomes a JSON key No, your code parses the body Only with a separate parser step No, your code parses the body
Setup Connect a mailbox or set a forwarding rule, add a URL Point an MX record or subdomain at the provider Build a Zap with a trigger and a webhook action Google Cloud project, Pub/Sub topic, watch renewal and your own receiver
Speed Within minutes: 5 via forwarding, 15 via mailbox sync Seconds, pushed as mail arrives Depends on the Zapier plan polling interval Near real time once built
Request signing HMAC-SHA256 header on every POST Varies by provider None by default on the outgoing webhook Pub/Sub push authentication you configure
Best for Structured records from mail you already receive, without writing a parser High-volume apps that own a mail domain and want raw MIME fast Simple Gmail automations already running in Zapier Engineering teams building deep Gmail integrations

Third-party behavior described from each product's public documentation as of September 2026. Capabilities vary by plan and version, so check the current documentation before you build. No pricing is implied.

Frequently asked questions

Can an email trigger a webhook?

Yes. A service receives the email, turns it into an HTTP POST and sends it to your URL. With MailParse the trigger is a new message in a connected mailbox or at your forwarding address, and the POST body is the parsed record, including the custom fields you named and any table rows as line_items.

How do I forward an email to a webhook?

Create a forwarding rule in your mail client or admin console that sends matching messages to your MailParse team forwarding address, then add your https URL on the Mailboxes screen. Each forwarded message is parsed and posted to the URL as signed JSON. The forwarding address is checked every 5 minutes.

Does Gmail support webhooks?

Not directly. Gmail has no setting that posts new mail to a URL. Developers use the Gmail API with Google Cloud Pub/Sub, which sends a notification that you then follow up by fetching and parsing the message. MailParse skips that build: connect Gmail over IMAP and each new email reaches your webhook already parsed.

How do I forward Outlook email to a webhook?

Add an Outlook rule that forwards the messages you care about to your MailParse forwarding address. In Microsoft 365 an administrator may need to allow automatic external forwarding in the outbound spam policy, which is blocked by default in many tenants. Once mail arrives, MailParse parses it and posts the record to your URL.

What does the webhook payload look like?

Each POST has event record.parsed, an id such as rec_1234, a created_at timestamp and a record object. The record carries from, from_name, to, cc, bcc, reply_to, date, subject, body, body_new, body_quoted, attachments, body_addresses, line_items and every custom field you named, in the same shape the MailParse API returns.

How do I verify a MailParse webhook signature?

Read the MailParse-Signature header, which looks like t=1759140000,v1=abc123. Compute an HMAC-SHA256 of the timestamp, a period and the raw request body using your signing secret, compare it to v1 in constant time, and reject requests whose timestamp is too old. It is the same scheme Stripe uses.

What happens if my endpoint is down?

The delivery fails after an 8 second timeout and the Mailboxes screen records the status code and error. There is no automatic retry today, so the record is not lost but it will not be posted again. You can fetch parsed records through the API or export them to CSV or Excel to backfill.

Is an email to webhook service free?

Webhooks are part of the paid MailParse plans, alongside the API, because each posted record is a parsed email counted against the plan. You can try the parser on a sample email before you subscribe to see exactly which fields your endpoint would receive.

Send parsed email to your webhook

Connect a mailbox or set a forwarding rule, name your fields, and receive signed JSON records at your endpoint.