Monitor an inbox, extract structured data from incoming emails and attachments, validate it, and feed it into downstream workflows. Turn unstructured email into actionable data.
Rendering diagram…
Use email parsing when:
| Stage | Action | Output |
|---|---|---|
| 1. Monitor | Watch a shared mailbox or specific inbox | New email detected |
| 2. Classify | Determine the email type (invoice, request, notification) | Email category |
| 3. Extract | Pull structured data from subject, body, and attachments | Key-value pairs |
| 4. Validate | Check extracted data for completeness and correctness | Validated data |
| 5. Route | Feed the data into the appropriate workflow | Business process started |
| 6. Archive | Move the processed email to a "Processed" folder | Clean inbox |
Shared mailbox approach:
[email protected] or [email protected]Folder-based approach:
Before parsing, determine what type of email you're dealing with:
| Signal | Classification Rule |
|---|---|
| Subject contains "INV-" | Invoice |
From address is [email protected] | Automated vendor notification |
| Has PDF attachment | Likely an invoice or report |
| Subject contains "RE:" or "FW:" | Reply/forward — may need different handling |
| Body contains "unsubscribe" | Marketing — skip |
From the email itself:
From attachments:
| Validation | Action if Failed |
|---|---|
| Required fields present | Flag for manual review |
| Amount is a valid number | Attempt cleanup, flag if ambiguous |
| Vendor exists in system | Create new vendor or flag |
| No duplicates (same invoice#) | Skip and log |
| Date is reasonable | Flag future dates or >90 days old |
Based on the classification and extracted data:
| Failure Type | Action |
|---|---|
| Can't classify | Move to "Manual Review" folder, notify team |
| Extraction confidence low | Route to Human-in-the-Loop Review |
| Validation errors | Reply to sender with specific issues (if appropriate) |
| Duplicate detected | Log and archive — don't process twice |
Never process emails from the Sent or Deleted folders. Only process from Inbox, and move processed emails to an "Archive" or "Processed" subfolder immediately to prevent re-processing.
Periodically check an external system for changes and trigger workflows when new or updated records are detected. The reliable alternative when webhooks aren't available.
Receive real-time events from external systems via webhooks, validate them, and trigger the appropriate workflow response. The foundation of reactive automation.