Email Parser Paths Integration: Route Parsed Email by Rule
Last updated August 2026
Try it now: extract email data to Excel, CSV, or JSON
Connect a mailbox to pull .eml/.msg in bulk, or paste a raw email to test the converter now.
Create a free account to download. No credit card required.
The short answer
Paths are conditional branches that send each parsed email somewhere different depending on what is inside it. Orders go to the fulfillment sheet, quotes go to the CRM, everything else goes to a review queue. You can branch in three places: at the mailbox, inside the parser, or in your automation platform. Branching as early as possible is cheaper and easier to debug.
Search for "email parser paths integration" and you land on a Zapier directory page pairing an email parser with Paths by Zapier. That pairing exists because parsing solves half the problem. Once a message is broken into named fields, the fields still have to go somewhere, and in most real inboxes they do not all go to the same place. A purchasing mailbox receives order confirmations, supplier quotes, shipping notices, and invoices, and each of those belongs in a different system.
This is the routing half of the job. It is worth getting right, because a badly designed branch is the thing that silently drops records six weeks after you built the workflow.
What are paths in an email parser?
Paths are conditional rules that decide where a parsed email goes. Each path has a condition, such as "subject contains Order Confirmation" or "order_total is greater than 5000", and a destination. A message runs down the first path whose condition it matches. Some tools call them paths, others call them rules, filters, or branches, but the mechanism is the same: test a value, then act on the result.
Two layers get confused here. Parsing rules describe what to pull out of a message: the PO number, the delivery date, the rows of an HTML table. Paths describe what to do with the result. You need parsing rules before paths can work at all, because a path condition has nothing to test until the values exist as fields.
Where to branch: three options compared
You can put the branch in three places, and the choice affects cost, reliability, and how long a failure takes to find.
| Where you branch | How it works | Best for | Watch out for |
|---|---|---|---|
| At the mailbox | Gmail filters or Outlook rules sort mail into folders, and each folder feeds its own parsing setup | Senders that are already distinct, such as one system per vendor | Rules live in one person's mailbox unless you use a shared account |
| In the parser | Separate parsing addresses or field sets per document type, each with its own output | Formats that need genuinely different fields extracted | More setups to maintain when a shared field changes |
| In the automation platform | One parser feeds a Zapier, Make, or n8n step that tests the parsed fields and branches | Routing on a value only known after parsing, like an amount or a status | Task or operation counts, and a branch that fails quietly |
The practical rule: branch on who sent it at the mailbox, branch on what type of document it is at the parser, and branch on what the values say in the automation platform. A condition like "route to the manager queue when order_total is over 5000" can only be evaluated once the total is a field, so that one belongs downstream. A condition like "this vendor always sends order confirmations" can be settled before parsing even starts.
How do I connect an email parser to other apps?
Through structured output, in one of two shapes. A file export gives you CSV, Excel, or JSON that you import into the destination, which suits backlogs and bulk loads. A webhook sends the parsed JSON to a URL the instant a message is parsed, which suits live routing. Automation platforms like Zapier, Make, and n8n consume that JSON and hand it to whichever app the path selected.
Both shapes come out of the same parse. In practice most teams run the backlog as a one-time CSV import, then leave the webhook running for new mail. Our email parser API and webhook documentation covers the JSON payload shape if you are wiring this up yourself instead of through a platform.
How do I build templates in email parser to pull out things like names, dates, links?
Name each value you want and give the parser a real example message. A template built on named fields such as customer_name, delivery_date, or tracking_link is more durable than one built on character positions, because a named field survives a sender adding a line above the address block. Test every template against three or four genuine messages from different senders before you route anything.
The failure mode worth designing against is layout drift. Suppliers rewrite their email templates without telling anyone, and a parser keyed to "the text 14 characters after the phrase Order No" breaks the day a space changes. Field-based extraction that reads the whole body holds up better. If your source data lives in an HTML table, extracting table rows from an email is a different job again, since one message produces many rows and each row may need its own destination.
Writing path conditions that survive real mail
Four habits separate a routing setup that runs for a year from one that needs weekly attention.
- Order paths from most specific to least specific. A message runs down the first matching branch, so a broad condition placed early swallows everything behind it. "Subject contains invoice" will catch "invoice dispute" too if you let it go first.
- Always build a catch-all. The last path should have no condition and should send unmatched mail somewhere a human looks, such as a review sheet. Without it, mail that matches nothing disappears and you find out at month end.
- Test on values, not on formatting. Conditions on a parsed field are stable. Conditions on the raw body text break when a signature block or a disclaimer changes.
- Handle the empty case. Decide what happens when a field the condition depends on comes back blank. Treating blank as "route to review" is almost always right, and it is the check people skip.
A worked example: one purchasing inbox, three destinations
A distributor runs one shared purchasing mailbox. Roughly 300 messages a week arrive: order confirmations from twelve suppliers, quote responses, and shipping notices. Before routing, one coordinator opened every message and retyped values into three systems.
The setup that replaced it branches twice. First at the mailbox: shipping notices come from three carrier domains, so a filter moves those to their own folder, which feeds a parsing setup that pulls tracking_number, carrier, and delivery_date, and appends them to a tracking sheet. Everything else stays in the main folder and is parsed for po_number, supplier_name, order_total, and the line item rows.
Then a second branch downstream on the parsed values: when po_number is present the record creates or updates an order row, when it is absent but a total is present the record is treated as a quote and goes to the CRM, and anything else goes to a review tab. The review tab averages four messages a week, which is the number that tells you the rules are working. If it ever spikes, a supplier has changed their format and someone needs to look.
The same shape works for request intake on a project board, where each parsed request becomes an item with its columns already filled in. That is the pattern behind a monday.com email parser setup, and the equivalent email to CRM workflow for sales mail.
Do I need Zapier Paths to route parsed email data?
No, and often you should not. Paths by Zapier is a paid plan feature and every branch consumes tasks, so a high volume inbox gets expensive fast. If your branch depends only on the sender or the subject, a mailbox filter does the same job for nothing. Reserve platform-level paths for conditions that need a parsed value, which is the case a mailbox filter genuinely cannot cover.
The cost math is simple enough to do on paper. Multiply your monthly message count by the number of steps each path runs, then check that against your plan's task allowance. Teams routinely discover that routing costs more than parsing did, which is why branching early matters.
Is it better to use one parsing inbox or several?
Use several when the document types need different fields extracted, and one when they share a field set and differ only in destination. Separate parsing addresses keep each setup simple and make a broken format obvious, since only one address stops producing clean output. A single address with downstream branching is easier to reason about when every message yields the same columns.
When parsed mail feeds a database
Plenty of routing setups end in a warehouse table rather than a spreadsheet, because finance and operations want to join parsed email data against orders and payments. If that is your destination, treat the parsed feed like any other pipeline: give it a load timestamp, and keep an eye on whether the table actually keeps updating, since a path that stops matching looks exactly like a quiet week until someone checks the row counts.
Sending JSON straight to a database endpoint through a webhook is usually cleaner than staging it in a spreadsheet first, and it removes a step where a manual edit can corrupt a column type.
Getting started without overbuilding
Start with one path and a catch-all. Pick the highest volume document type in the inbox, extract its fields, send it to its destination, and let everything else fall through to a review sheet. Watch that sheet for two weeks and the next path will write itself, because you will see exactly which format is piling up.
Teams that map all six branches on a whiteboard before parsing a single message almost always build conditions for mail that never arrives, while missing the format that shows up daily. Parse first, watch what lands, then route. If you are still choosing a tool for the parsing half, the email parser comparison guide covers what to look for, and the API and webhook setup is where routing usually starts.