Skip to content
ParsedMail

Lead email parser

A lead email parser reads every inquiry that lands in your inbox, from website form notifications, directories and partner referrals, and returns the name, company, email, phone, budget and request as typed JSON. ParsedMail sends it to a webhook, so Zapier, Make or n8n can create the lead in HubSpot, Salesforce or Pipedrive within seconds.

Sales representative following up on a new inquiry at a desk

Email received

From: Listings <[email protected]> Subject: New quote request from Marcus Bell You have a new quote request on Pro Directory. Name: Marcus Bell Company: Bell & Hart Dental Email: [email protected] Phone: (512) 555-0148 Message: We are opening a second clinic in Austin and need a new website with online booking. Budget is around 12k. Ideally we start mid November. Reply within 24 hours to keep your response badge. Manage notifications | Unsubscribe

Fields described as

contact name, company, email, phone, service requested, budget, preferred start date, lead source

JSON delivered to your webhook

{
  "contact_name": "Marcus Bell", 0.99
  "company": "Bell & Hart Dental", 0.98
  "email": "[email protected]", 0.99
  "phone": "+15125550148", 0.96
  "service_requested": "New website with online booking for a second clinic in Austin", 0.92
  "budget": { "amount": 12000, "currency": "USD" }, 0.84
  "preferred_start_date": "2026-11-15", 0.71
  "lead_source": "Pro Directory" 0.95
}

Leads arrive as email from a dozen places

Few businesses get all their leads through one form wired to the CRM. Real inquiries come from a contact form plugin that only sends an email, from directory listings and review sites, from partner and affiliate referrals, from trade show apps and from people who simply write to sales@. Each source formats the message its own way, and many bury the inquiry under marketing text, badges and unsubscribe links.

Speed matters with inbound leads, and copying details by hand is the slowest step. ParsedMail reads each email against one lead schema and ignores the footer, the signature and the reply history, so the CRM gets the inquiry itself. If you also handle inquiries that are really support requests, the support email parser uses the same mechanism.

A lead schema with typed contact fields

Typed fields keep the CRM clean. The email type returns a valid address or null. The phone type normalizes numbers, so "(512) 555-0148" arrives in one consistent format. The money type turns "around 12k" into {"amount": 12000, "currency": "USD"}, and a date field turns "mid November" into a date with a lower confidence score, which tells you it was an interpretation. An enum field, for example lead_type with options such as new project, partnership and job inquiry, lets your automation route each lead to the right pipeline.

Values that are not in the email stay null. The parser uses only what the sender wrote, so it never invents a company name or a budget.

Creating leads in HubSpot, Salesforce and Pipedrive

Every parsed email is posted as JSON to your webhook. Common setups:

  • HubSpot. Zapier Catch Hook, then Find or Create Contact by email, then Create Deal with the service and budget.
  • Salesforce. Make Custom webhook, then a Search Records step on Lead and Contact, then Create a Record on Lead with the lead source set from the parsed field.
  • Pipedrive. n8n Webhook node, then the Pipedrive node to create a person, an organization and a lead.
  • Your own CRM. Verify the ParsedMail-Signature header and insert the record directly.

Step-by-step setup is on the Zapier integration page and the Make integration page.

Keeping junk out of the pipeline

  • Allowed senders. Limit the inbox to your form tool and directory notification addresses, for example @pro-directory.example. Other senders are logged as blocked_sender, not parsed and not counted.
  • Duplicates. A notification resent with the same Message-ID, or the same sender, subject and body within 30 days, is marked duplicate.
  • Classification. On Growth and Scale, give one inbox a lead schema and a schema for everything else, such as listing renewals or review alerts. Emails that fit neither go to the review queue.
  • Low confidence. A lead with a missing required email address, or confidence under your threshold, waits in the review queue instead of creating a half-empty CRM record.

Several lead sources on one inbox

Plus tags let you tell sources apart without new inboxes. Give the directory [email protected] and your partners [email protected]. Both land in the same inbox and schema, and the to field of the result holds the address with its tag, so it shows which source sent the lead. When a source needs very different fields, create a separate inbox. Starter includes 5 inboxes, Growth 25 and Scale has no limit on inboxes.

From inbox to spreadsheet when there is no CRM

Not every team runs a CRM. The same JSON can append a row to Google Sheets or Excel with one automation step, which is often how a lead process starts. The page on email to spreadsheet shows that setup. When you move to a CRM later, only the last step of the automation changes, the inbox and schema stay the same.

Frequently asked questions

Does the lead parser work with any form tool?

Yes. Any tool that can send a notification email works, including WordPress form plugins, Typeform, Webflow forms and directory sites. Set the inbox address as the notification recipient or forward the emails with a rule.

Can it update an existing contact instead of creating a duplicate?

Deduplication of contacts happens in your CRM step. Use a find or create step keyed on the parsed email address in Zapier, Make or n8n.

How does it handle phone numbers in different formats?

Fields of type phone keep the number as written in the email, so format it in your CRM or in an automation step if you need one style. A number that is not in the email comes back as null.

Will it pick up the marketing text in directory emails?

No. The parser ignores footers, signatures, badges and quoted replies and extracts only the fields in your schema from the inquiry itself.

How fast does a lead reach the CRM?

Most emails are parsed within a few seconds of arrival, and the webhook is sent right after. The CRM step then depends on your automation tool.

Related

See your own email as JSON

Paste one into the demo, describe the fields and look at the result. No account needed.