Power Automate email parser integration for typed email data
A Power Automate email parser integration gives your flow clean fields instead of an email body to wrestle with. Forward orders, leads or invoices to a ParsedMail inbox, and each parsed email is posted as JSON to the HTTP URL of your flow. From there the flow writes rows to SharePoint, Dataverse or Excel, creates records in Dynamics 365 or posts to Teams. ParsedMail has no native Power Automate connector, so the link is a webhook.
Parse an email above, then compare plans and pricing or read the API docs.
How the Power Automate connection works
Power Automate can start a flow when an Outlook message arrives, but it hands you the raw body and attachments. Pulling an order number, a total or a phone number out of that text is the hard part, and it is usually done with expressions that break the moment a sender changes a layout. ParsedMail does that step. A language model reads the email and its attachments against the fields you defined, and ParsedMail posts the result to your flow.
The event has id, type, created and data. For email.parsed, the email object is data, extracted fields are data.data.*, the email ID is data.id, and data.confidence_avg and data.needs_review tell the flow whether to trust the values. Each delivery is signed with HMAC-SHA256 and carries an Idempotency-Key header, and failed deliveries are retried 5 times over about 15 hours. See the webhook documentation for the full payload.
What it replaces in an Outlook triggered flow
- Expression chains. Chains of
split,substringandindexOfover the email body become named fields. - One flow per sender. A single schema handles different layouts of the same kind of email, so you maintain one flow instead of one per vendor or portal.
- Attachment handling. PDFs with a text layer, CSV, HTML, ICS, JSON and XML are read with the email, and scanned PDFs and images are read as images on paid plans. See attachments and PDF reading.
- Silent bad data. The review flag lets the flow stop and ask a person before a doubtful value reaches Dataverse or a finance sheet.
Where the data can go
| Destination | Typical use | What the flow does |
|---|---|---|
| SharePoint list | Order or request log | Creates an item per email with columns mapped from fields |
| Excel table in OneDrive | Finance or reporting sheet | Adds a row, using data.id to avoid repeats |
| Dataverse or Dynamics 365 | Leads, cases, sales orders | Creates or updates a record, matching on email or reference |
| Teams | Alerts and approvals | Posts a card when a field such as priority or amount crosses a threshold |
For lead routing see lead email parsing, and for purchase and web orders see order email parsing.
Licensing and limits to check first
The "When an HTTP request is received" trigger is a premium connector in Power Automate, so the flow owner needs a plan that includes premium connectors. Check this against your Microsoft 365 or Power Platform licensing before you build. If you cannot use premium connectors, send ParsedMail output to Zapier, Make or n8n instead.
On the ParsedMail side, webhooks work on Starter, Growth and Scale, and the review queue is on Growth and Scale. Starter is $49 a month or $24 billed yearly for 1,000 emails and 300 attachment pages. See pricing for every limit.
Frequently asked questions
Does Power Automate have a built in email parser?
Is there a ParsedMail connector for Power Automate?
Do I need a premium license?
How do I avoid duplicate rows in SharePoint or Excel?
Can I parse Outlook emails with this?
Related
See your own email as JSON
Paste one into the demo, describe the fields and look at the result. No account needed.