Email parsing for HubSpot

HubSpot Email Parser: Extract Email Data into HubSpot Records

Parse the fields and table rows out of the email body HubSpot leaves as plain text, then send clean records into HubSpot

HubSpot can log an inbound message to a contact and its AI can fill a name or phone from a signature, but it does not parse structured fields out of the body into custom properties, and it flattens HTML tables into plain text. MailParse reads the full email body and HTML table rows, pulls out the fields you name, then exports clean CSV and JSON you import into HubSpot or push in through a workflow, Zapier, or Make.

Named fields into custom properties
Parses HTML emails & tables
CSV, Excel & JSON output
Imports or webhooks into HubSpot

Last updated July 2026

Convert your email files
No install

Connect a mailbox to pull .eml/.msg in bulk, or paste a raw email to test the converter now.

or paste an email to test
Output format
Columns to extract
Extract your own custom fields
Popular:

Create a free account to download. No credit card required.

Named fields
Pulled from the body HubSpot leaves as text
HTML tables
Parses layout HubSpot flattens
CSV / JSON
Import or webhook into HubSpot
No code
Name fields, skip the custom build

HubSpot is good at getting an email into the CRM. A connected inbox logs the message to a contact record, conversations threads the reply, and HubSpot AI can read a signature to fill a first name, last name, or a phone number it spots in the body. What HubSpot does not do out of the box is pull structured values out of the message into custom properties: the order number in the third paragraph, the deal amount a partner buries mid-body, the rows of a shipment table, or a custom field a vendor sends in their own layout. HubSpot users have asked for native workflow email parsing for years; the standing answer from the community is to route the email through an external parser and send the fields in over Zapier, Make, or a webhook.

MailParse is that external email parser. Connect a Gmail, Outlook, Microsoft 365, or IMAP inbox, or forward a message to a parsing address, then name the fields you want such as order_number, deal_amount, company_name, or tracking_number. MailParse reads them from the full body and from HTML emails with real tables that a logged email flattens into a wall of text. You get a clean CSV, an Excel workbook, or JSON. From there you load the data into HubSpot the way that fits: import the CSV to create or update contacts, companies, and deals, or send JSON through a HubSpot workflow, Zapier, or Make to create or update a record per email automatically. MailParse records the filename of any attachment for reference; when the value you need is locked inside a PDF, extract the PDF with a document tool first, then feed the result in. This page is an honest look at where HubSpot native handling is enough and where an external parser does the work it cannot.

What the converter does

Everything you need to turn a pile of email files into a spreadsheet your team can actually use.

Pulls named fields into custom properties

HubSpot logs the whole message onto the contact timeline. MailParse reads the order number, deal amount, or company name sitting mid-body and returns each as its own column, so the values map straight to custom properties instead of a paragraph.

Parses HTML emails and tables

HubSpot has no way to pull table rows out of an HTML email into properties. MailParse parses HTML emails and repeating table rows, so order confirmations, reports, and lead forms come through as clean columns you can import.

Name fields instead of building an integration

A native parse means a custom code action or an operations-hub workflow that most teams do not have. MailParse reads the fields you name across senders that format the same data differently, so one setup covers many layouts with no code.

Goes beyond HubSpot AI signature fill

HubSpot AI fills a name or a phone from a signature, but it does not read the deal figures, IDs, or line items in the body. MailParse pulls every field you name from the message itself.

CSV and JSON that load into HubSpot

Export a CSV to create or update contacts, companies, and deals through the HubSpot import tool, or send JSON through a workflow, Zapier, or Make to create a record per email. The choice is yours, and the data is clean either way.

Spreadsheet output for everyone else

Not every email belongs in the CRM. Download a formatted Excel workbook or CSV for an accounting import, a report, or a teammate who just wants the numbers, without routing the data through HubSpot first.

How to parse email into HubSpot the data way

Four steps to capture the fields and table rows a logged HubSpot email leaves as text.

1

Connect or forward

Connect the Gmail, Outlook, Microsoft 365, or IMAP inbox your HubSpot-bound mail arrives in, or forward a sample message to a dedicated MailParse parsing address.

2

Name your fields

List the values you want as HubSpot properties, including fields buried mid-body and columns inside HTML tables. Describe each field once instead of building a custom workflow parser.

3

Choose CSV or JSON

Export a CSV for the HubSpot import tool, or point JSON at a HubSpot workflow, Zapier, or Make to create or update a contact, company, deal, or ticket per email automatically.

4

Load and reuse

Run a backlog in one pass and let new mail flow in automatically. Adjust the fields anytime from a form, with no integration to rebuild when a sender changes their layout.

Who outgrows native HubSpot email handling

HubSpot teams whose inbound mail carries fields, tables, or vendor formats a logged email and HubSpot AI leave as plain text.

Sales & marketing teams

Capture leads from marketplace, web form, and partner emails that arrive as HTML or change layout, then create a clean contact or deal per email in HubSpot instead of retyping the body.

RevOps & service teams

Pull order numbers, account IDs, and product details out of the inbound customer mail body, and route the structured data onto contact or ticket properties through a CSV import or a webhook.

Operations & logistics

Read shipment tables, tracking numbers, and order IDs from confirmation emails that HubSpot files as plain text, and bring clean fields into HubSpot records.

Accounting & finance

Pull invoice numbers, dates, and totals out of the email body and its HTML tables into Excel for a QuickBooks or Xero import, then send the summary onto a HubSpot deal. When the figure lives inside a PDF, extract the PDF first, then feed the result in.

MailParse vs native HubSpot email handling

Reads the whole body

A logged HubSpot email keeps the entire message on the timeline. MailParse pulls the specific values you name out of the body and returns each as its own column.

Handles HTML and tables

HubSpot cannot pull HTML table rows into properties. MailParse parses HTML emails and table rows into clean columns.

No integration to build

A native field parse needs a custom code action or an operations-hub workflow. MailParse reads named fields with no code.

Flexible output

MailParse exports CSV and Excel for spreadsheets and JSON for webhooks, so you import with the HubSpot tool or push records through a workflow, Zapier, or Make.

Four ways to parse email into HubSpot, compared

HubSpot gives you native logging plus AI signature fill, and the external-parser route, and the right one depends on whether your mail carries HTML tables, fields buried mid-body, or formats that change between senders. Here is an honest side by side, with credit to each method where it wins. For the broader CRM picture, see the email to CRM guide; to weigh parsers against each other, the best email parser guide.

Decision point MailParse Logged email (native) HubSpot AI fill Custom code workflow
What it does Parses the fields you name from the body and HTML tables, then exports CSV or JSON to load into HubSpot Logs the inbound message to the contact timeline and files any attachment unread Reads a signature to fill a name or a phone number it spots in the body A custom code action in an operations-hub workflow parses the body you script for
Setup and skills needed Name the fields on a form, no code or workflow build Connect an inbox, included with your HubSpot account Toggle the AI setting on, included on eligible plans A developer writes and maintains the code action; needs a paid Operations Hub tier
Parses structured fields from the body Yes, across senders that format the same data differently No, the whole body stays on the timeline unparsed Only a name or phone from a signature, not custom fields Yes, but only the patterns you hard-code
Handles attachments Records the filename for reference; extract a PDF or spreadsheet with a document tool first, then parse the result Stores the file on the record but does not read it No, it reads message text only Only if you write and maintain a parser for each file type
Parses HTML tables Yes, repeating table rows come through as clean columns No, the table is flattened into plain text No, it does not read tables Possible only with heavy custom parsing code
Holds up when a sender changes layout Reads the named fields when the layout drifts Layout does not matter since nothing is parsed Depends on the AI spotting the value in a new format Breaks when the text the code keys on moves
Output and destinations CSV for the HubSpot import tool, or JSON through a workflow, Zapier, or Make A record on the HubSpot timeline only Updates standard contact properties inside HubSpot Writes to the HubSpot records the workflow targets
Best for HTML tables and varied vendor formats parsed into fields with no code Keeping a copy of customer email against the contact with no field extraction Filling basic contact details from clean signatures automatically Dev teams on Operations Hub wanting native control in one steady format

Connected inboxes, HubSpot AI, and workflow code actions are part of HubSpot, so the cost is your plan tier and developer or admin time, not a separate parser license. Native capabilities and plan requirements change between releases, so confirm current behavior before you build. Capabilities described as of July 2026. No pricing is implied here.

Frequently asked questions

Does HubSpot have an email parser?

HubSpot does not have a built-in email parser that extracts custom fields from the body. A connected inbox logs the message and HubSpot AI can fill a name or a phone from a signature, but pulling an order number, deal amount, or table rows into properties is not native. HubSpot users are pointed to an external parser routed in over Zapier, Make, or a webhook. MailParse does that extraction and hands HubSpot clean CSV or JSON.

How do I parse an email into HubSpot?

Parse the message in MailParse first, then load it. Connect a mailbox or forward a sample, name the fields you want such as company_name or deal_amount, and MailParse reads them from the body and HTML tables. Export a CSV for the HubSpot import tool, or send JSON through a HubSpot workflow, Zapier, or Make to create or update a contact, company, deal, or ticket per email automatically.

Can HubSpot extract data from the email body?

Only in a limited way. HubSpot AI reads a signature to fill a name or a phone number it spots in the body, and an Operations Hub custom code action can parse text if a developer scripts it. Neither pulls arbitrary custom fields or HTML table rows reliably across formats. MailParse reads the fields you name across varied layouts, so a formatting change does not silently drop a value.

Does HubSpot AI fill contact properties from emails?

Yes, on eligible plans HubSpot AI scans the email signature and can catch a phone number in the body to update standard contact properties when they are empty. It is meant for basic contact details, not for parsing order numbers, invoice totals, or table rows into custom properties. For those, MailParse reads the named fields and gives you CSV or JSON to import.

Can MailParse read data inside email attachments?

MailParse parses the email body and HTML tables, and it records the filename of any attachment for reference, but it does not read the data locked inside a PDF, Word, or spreadsheet file. When the value you need lives inside an attachment, extract that file with a document tool first, then feed the result into your HubSpot import.

How do I import parsed email data into HubSpot?

Two paths work. Export the parsed data from MailParse as a CSV and load it with the HubSpot import tool to create or update contacts, companies, and deals in bulk, mapping each column to a property. Or take the JSON from a MailParse webhook and send it through a HubSpot workflow, Zapier, or Make to create a record per email automatically as mail arrives.

Is the HubSpot email parser free?

There is no separate paid email parser to buy from HubSpot, and no free native one either. Connected inboxes and AI signature fill are part of your plan, but turning the body into custom fields means an Operations Hub code action or an outside tool. MailParse complements HubSpot by parsing the body and HTML tables into named fields and exporting CSV or JSON you load back in.

Parse the email body HubSpot leaves as text, then send it into HubSpot

Connect a mailbox or forward a message and see the fields and HTML table rows a logged email and HubSpot AI leave unparsed land in clean CSV or JSON, ready to import or webhook into HubSpot.