Parse Email into HubSpot: Fields, Tables & Records
Last updated July 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.
HubSpot logging the email but not the fields you need?
HubSpot can log an inbound message and its AI can fill a name from a signature, but extracting order numbers, deal amounts, or table rows into custom properties is not native. MailParse reads the full body and HTML table rows, pulls out the fields you name, then hands you clean CSV or JSON to load into HubSpot. See the HubSpot email parser approach, or read the full guide below first.
To parse an email into HubSpot, run the message through an external email parser first: name the fields you want, let the parser read them from the body and HTML tables, then load the result into HubSpot as a CSV import or push it in as JSON through a workflow, Zapier, or Make. HubSpot logs the email and its AI can catch a name or phone from a signature, but it does not turn arbitrary body values into custom properties on its own. This guide is a practical look at what native HubSpot email handling covers, where it stops, and how to get the rest of your email data into HubSpot as clean records.
Does HubSpot have an email parser?
HubSpot does not have a built-in email parser that extracts custom fields from the message body. A connected inbox logs the email to the contact timeline, 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. Pulling an order number, a deal amount, or the rows of a table into properties is not something native HubSpot does. Native workflow email parsing has been a standing feature request in the HubSpot community for years.
The boundary matters. Logging an email against a record is built in. Turning the contents of that email into named properties is work you either script with an Operations Hub code action or hand to an outside parser.
How do I parse an email into HubSpot?
Parse the message in an external email parser first, then load it. Connect a Gmail, Outlook, Microsoft 365, or IMAP inbox, or forward a sample message, and name the fields you want such as company_name, deal_amount, or order_number. The parser reads them from the body and from HTML tables, and returns a clean CSV or JSON. From there you import the CSV to create or update contacts, companies, and deals, or send the JSON through a HubSpot workflow, Zapier, or Make to create a record per email automatically. One setup then covers many senders and layouts with no code to redeploy.
Once the contact record exists, your team can pick it up straight away, moving from a parsed lead into outreach without anyone retyping the details first.
Can HubSpot extract data from the email body?
Only in a limited way. HubSpot AI scans the email signature and can catch a phone number in the body to fill standard contact properties when they are empty, which is handy for basic contact details. It does not pull custom values like an invoice total, a purchase order number, or repeating line items into properties. An Operations Hub custom code action can parse the body if a developer scripts it, but that needs a paid tier and ongoing maintenance as senders change their formatting.
A parser that reads the fields you name across varied layouts removes that maintenance cycle, because it is not pinned to one exact template or to the AI happening to recognize a value in a new format.
Does HubSpot AI fill contact properties from emails?
Yes. On eligible plans, HubSpot AI reads the signature of a connected email and can spot a phone number in the body, then updates standard contact properties such as name, job title, or phone when those fields are empty. It is designed for tidy contact details from clean signatures, not for parsing structured business data out of the message. For order numbers, deal figures, and table rows, you still need a parser that reads the fields you name and returns them as columns.
Can a HubSpot email log read attachments?
No. A logged email keeps any attached file against the record, so the PDF or spreadsheet is stored on the contact or deal, but HubSpot does not read what is inside it. The invoice total in a PDF, the line items in an attached spreadsheet, and the details in a scanned document stay locked in the file. To get those into HubSpot properties, the attachment has to be extracted before the data reaches the record.
MailParse parses the email body and HTML tables and records the filename of any attachment for reference, but it does not read the data locked inside a PDF or spreadsheet. When the real data arrives as a file, extract it first: a dedicated invoice data extractor pulls the totals and line items straight from the document, and you feed that clean output into your HubSpot import. For everything carried in the message itself, the parser handles it directly.
How do I parse a table in an email into HubSpot?
HubSpot has no native way to pull HTML table rows into properties, so the data in an order confirmation, a lead form, or a report is flattened onto the timeline as plain text. Many of the emails a business actually receives carry their data in HTML tables where each row is a record, and that is exactly the format native handling is not built to read. Scripting it in a custom code action is possible but brittle.
An external parser reads HTML emails and repeating table rows directly, turning each row into its own clean record or spreadsheet line. That is the difference between one crowded note on the timeline and a structured set of columns you can import into HubSpot.
How do I import email data into HubSpot?
Use the HubSpot import tool with a clean CSV. Once an email parser has turned your messages into rows, with each field as its own column, you upload the CSV, map each column to a contact, company, or deal property once, and import the batch as new or updated records. It is the fastest way to clear a backlog of emails into HubSpot in one pass.
The requirement is a clean CSV to begin with, which is what the parser produces. If the data started life as an attachment headed for your books, export it to a spreadsheet with the email to Excel converter first, then load the record into HubSpot.
How do I create HubSpot records from email automatically?
Send the parsed data as JSON through a HubSpot workflow, Zapier, or Make. When the parser finishes a message it fires a webhook with the structured data, and a flow creates or updates a contact, company, deal, or ticket for each email as it arrives. No CSV, no manual import, and no custom code action to maintain, the record simply appears in HubSpot.
This is the setup for steady inbound mail: leads from a marketplace, web form notifications, partner referrals, order confirmations. You name the fields once, connect the webhook to your HubSpot flow, and every future email lands as a record. Pair it with a one-time CSV import to handle both the backlog and everything new.
Native HubSpot handling or an external parser: which to use
Match the tool to the mail. If you receive clean contact emails and only need a name or phone filled in, a connected inbox plus HubSpot AI is the cheapest option and worth using. If you receive HTML, tables, or formats that vary between senders, an external parser does the work native handling cannot, then hands the result to HubSpot through a CSV import or a webhook. Most teams use the native features for their tidy contact mail and a dedicated parser for everything else.
When you are ready to capture the body fields and table rows HubSpot leaves as text, the HubSpot email parser approach reads every message and gives you clean records to import or push into HubSpot. If you would rather see the data as a spreadsheet, the email to Excel converter exports it directly, developers can pull structured records through the email parser API, and if you are still choosing a tool, the best email parser guide walks through what to compare.
Run a different CRM alongside HubSpot? The same parsed-fields approach works when you parse email into Salesforce or parse email into Zoho CRM, and the broader playbook for turning inbound mail into records is in how to add email leads to your CRM automatically.