Every plan, Free included
Parsed email in Zapier and Make
Send each email an endpoint receives to a Zap or a Make scenario, with the fields and line items your layouts read, and let it carry the order, booking or report on to your other tools. Our Zapier and Make apps are in review and not listed in their directories yet. Until they are, a catch hook in either one receives the same signed JSON today.
Set it up
- 1
Create a hook
In Zapier, start a Zap with Webhooks by Zapier and its Catch Hook trigger. In Make, add a Webhooks module with a custom webhook. Copy the URL it gives you.
- 2
Add it as a destination
In the endpoint's Settings, under Forwarding, add Your server with that URL. Under What it gets, leave only Emails ticked, so each email goes as signed JSON.
- 3
Send a sample
Send test delivery posts the newest email, or a sample, once, so Zapier or Make learns its fields.
- 4
Map the fields and turn it on
Each email arrives as email.received JSON with the email under data: data.subject, data.from.address, data.fields and, on an endpoint with layouts, data.parsed.
Every setting, in full: The Zapier and Make docs
The apps are in review
Our Zapier and Make apps are not listed in the Zapier or Make directories yet. The steps above work today with the tools both already have: a Webhooks by Zapier catch hook and a Make custom webhook. Once the apps are listed, they add and remove that destination for you.
What the apps offer
Both connect with an API key. The trigger is a REST hook: turning a Zap or scenario on adds a JSON destination for emails to the endpoint you pick, and turning it off removes it.
| What | Zapier | Make |
|---|---|---|
| Trigger | New Email (instant) | Watch emails (instant) |
| Actions | Create Endpoint, Send Test Email | Create an endpoint, Send a test email |
| Search | Find Email: the newest match | Search emails: newest first |
What a Zap or scenario receives
One POST per email, the same signed JSON any destination gets. On an endpoint with layouts, data.parsed holds the fields and line items:
{
"type": "email.received",
"timestamp": "2026-10-29T17:33:26.882Z",
"data": {
"id": "3f2a9c1e-0000-4000-8000-000000000000",
"endpoint": { "slug": "orders-acme", "name": "Orders" },
"address": "orders-acme@mailhooks.cc",
"subject": "Order #1001 confirmed",
"from": { "name": "Acme Store", "address": "orders@acme.example" },
"parsed": {
"status": "matched",
"layout": { "id": "orders", "name": "Acme orders" },
"fields": { "order": "1001", "total": "37.50" },
"lineItems": [
{ "sku": "ACME-TEE-M", "qty": "2", "price": "12.50" },
{ "sku": "ACME-MUG", "qty": "1", "price": "12.50" }
]
},
"...": "..."
}
}Shortened. The full JSON also carries the recipients, the text and HTML, the attachments (as signed links by default), the sender checks and the headers; see Signed JSON.
What to know
- Every plan, Free included
- The same signed email.received JSON as any destination
- A URL that answers 410 Gone turns its destination off
- Up to 10 destinations per endpoint
- Apps: an instant New email trigger, two actions, a search
- Apps connect with an API key (whcc_...)
- Search: 60 per 10 minutes per account
- No extra quota: each email counted once when it arrived
Plans, prices and limits: Pricing
Questions
More on mailhooks.cc
Google Sheets
A row per email or per line item, in a spreadsheet you pick.
File drops
CSV, XML or JSON files on your SFTP, FTP or S3 server.
Your own domain
Mail to orders@inbound.acme.com, sent to the endpoints you choose.
AI setup
Patterns for fields and layouts, drafted from emails you pick.
Ready-made layouts
Orders, bookings, receipts and reports from the senders you already use.