Skip to content
ParsedMail

Convert Outlook email to Excel

To convert Outlook email to Excel, forward the emails to a ParsedMail inbox whose schema lists the columns you want, then add one row per parsed email with Zapier or Make, or export a CSV from the API. The same works for Gmail and Google Sheets, and every column arrives as a typed value.

Email received

From: Daniel Reyes <[email protected]> To: Purchasing Date: Thu, 15 Oct 2026 08:42:00 -0500 Subject: Purchase request, ultrasound gel for outpatient Hi purchasing, Outpatient needs 24 bottles of ultrasound gel (250 ml). Last order was about $3.10 a bottle, so roughly $75 in total. We will run out by October 28, so ordering this week would be great. Ann Whitaker approved this in this morning's huddle. Thanks, Daniel Reyes Outpatient Coordinator

Fields described as

request date, requester name, department, item requested, quantity, estimated cost, needed by date, approver

JSON delivered to your webhook

{
  "request_date": "2026-10-15", 0.90
  "requester_name": "Daniel Reyes", 0.99
  "department": "Outpatient", 0.96
  "item_requested": "Ultrasound gel, 250 ml bottle", 0.97
  "quantity": 24, 0.98
  "estimated_cost": { "amount": 75, "currency": "USD" }, 0.78
  "needed_by_date": "2026-10-28", 0.95
  "approver": "Ann Whitaker" 0.92
}

Why copy and paste from email does not scale

Many processes run on a spreadsheet fed by email: purchase requests, timesheets, quote requests, event signups, daily reports from field teams. Someone opens each email, copies values into columns and fixes the date format afterwards. Outlook can export a folder to CSV, but only the envelope (sender, subject, date, body as one long cell). It does not split the body into the columns you need.

ParsedMail does the splitting. You describe the columns, it reads each email and returns the values typed, so dates are real dates, amounts are numbers and quantities are integers. One email becomes one row.

Forwarding from Outlook and Gmail

  • Outlook and Microsoft 365. Create a rule (Settings, Mail, Rules) that matches the sender, subject or folder and forwards to your ParsedMail inbox address. Outlook sends a confirmation email for some forwarding setups, which ParsedMail shows in the log and does not count.
  • Gmail and Google Workspace. Add the inbox as a forwarding address, confirm it with the code that appears in the ParsedMail log, then create a filter that forwards matching emails.
  • Shared mailboxes. Add the inbox address as a member or BCC on the shared address, so the team mailbox stays as it is.

Forwarded emails keep their content, and the parser ignores the forward header, quoted replies and signatures. The sending emails documentation covers each option.

Columns become typed fields

Each field in the schema is a column. Types decide how the value lands in the sheet:

TypeIn the emailIn the cell
date"by Oct 28", "28/10"2026-10-28
integer"two dozen"24
money"roughly $75"amount 75 and currency USD in two columns
enum"urgent", "asap"one of your options, such as high
boolean"approved this morning"true

Money is one object in JSON. Map amount and currency to separate columns in the automation. Values that are not in the email stay empty, and the confidence score per field can go in its own column if you want to filter uncertain rows.

Adding rows with Zapier or Make

  1. Create a Zap with Webhooks by Zapier, trigger Catch Hook, or a Make scenario with Webhooks, Custom webhook. Copy the URL.
  2. Add it as a webhook endpoint in ParsedMail and send the test event.
  3. Add the action Google Sheets, Create Spreadsheet Row, or Microsoft Excel, Add Row for a workbook in OneDrive or SharePoint.
  4. Map each column to a field under data, for example data.quantity to Quantity.

Failed webhook deliveries are retried after 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hours, so a short outage at the automation tool does not lose rows. Step-by-step screens are on the Zapier integration page, and the Google Sheets variant is explained in the guide to email to Google Sheets.

CSV export from the API without an automation tool

If you only need a file, skip the automation. List parsed emails with the API and write the data objects to CSV:

curl "https://parsedmail.com/api/v1/emails?inbox=inb_7Hq2&status=delivered&limit=100&since=2026-10-01T00:00:00Z" \
  -H "Authorization: Bearer $PARSEDMAIL_KEY"

Each item in data has the parsed fields under data. Page with starting_after while has_more is true. A few lines of Python or a Power Query step in Excel turn the result into a sheet. The email parsing API page shows the full response.

Typical spreadsheets fed by email

  • A lead list before a CRM exists, see the lead email parser
  • An order log for a small online shop, see the marketplace order email parser
  • Purchase requests and approvals, as in the example above
  • Booking and travel logs for a team
  • Applicant tracking for a small hiring round

Each of these is one inbox and one schema. Starter includes 5 inboxes and 1,000 emails a month for $49, or $24 a month billed yearly.

Frequently asked questions

Can I convert Outlook emails to Excel without Zapier?

Yes. Use the REST API to list parsed emails and write them to CSV, or load the API response into Excel with Power Query. An automation tool is only needed for live row-by-row updates.

Does it work with Google Sheets as well as Excel?

Yes. The JSON is the same, only the last automation step differs. Zapier and Make both have Google Sheets and Microsoft Excel add-row actions.

Can one email produce several rows?

Yes. Describe the repeating part as a table, such as line items, and loop over it in the automation to add one row per item.

What about emails that are already in my mailbox?

Forward them to the inbox, or send them with POST /v1/inboxes/{id}/emails as raw MIME. Each email counts once on your plan.

Can I change the columns later?

Yes. Edit the schema at any time. The version increments, and you can replay stored emails to parse them again with the new columns.

Related

See your own email as JSON

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