How to Connect Outlook to Excel and Track Your Emails (3 Methods)
Connect Outlook to Excel and track emails with Power Query, Power Automate or a VBA macro. Steps, limits, and what is free, as of October 2026.
Quick answer: To pull Outlook mail into Excel once, use Excel's built-in Microsoft Exchange connector. To log every new email automatically, use a Power Automate flow. Free? Usually yes, with an eligible Microsoft 365 license. Microsoft says both connectors used in the automatic method are Standard tier, and Microsoft 365 licenses include standard connectors (page dated 22 September 2026). One date matters if you pick the built-in route: Microsoft plans to replace the Excel Exchange connector by April 2027.
What do you need before you start?
You need Excel, an Outlook mailbox, and a way to sign in to that mailbox. The method decides the rest.
- Method 1 (Power Query): Excel for Microsoft 365, Excel 2024, 2021, 2019 or 2016, according to the Microsoft support page for Power Query. Your mailbox address and either an Exchange account or a Microsoft account.
- Method 2 (Power Automate): A Microsoft 365 work or school account, and a workbook saved in OneDrive for Business or SharePoint. The data must be formatted as an Excel table.
- Method 3 (VBA): Desktop Outlook and desktop Excel on the same computer, and permission to run macros.
How do you import Outlook emails into Excel? (Method 1: Power Query, free)
Use the Microsoft Exchange connector under Get Data. It imports your mail as a table you can sort and filter. It is a one-time pull that you refresh by hand, not a live feed.
- Open a new Excel workbook.
- Click the Data tab, then Get Data.
- In the menu, pick the Other category (some versions show From Other Sources), then From Microsoft Exchange. Verify this step: the menu may differ by Excel version.
- In the Microsoft Exchange window, enter the mailbox address you want to access, then click OK.
- Choose Exchange account and sign in, or choose Microsoft account and sign in. Microsoft says a User Principal Name (UPN) also works.
- In the Navigator, tick the mail data you want.7. Click Load to put the table in a sheet, or Transform Data to filter first (for example, to keep one folder or one date range).
To refresh later, click Data > Refresh All. Microsoft documents the connector's supported capability as Import only.
How do you log every new Outlook email to Excel automatically? (Method 2: Power Automate)
Build a cloud flow with two pieces: the Outlook trigger When a new email arrives (V3) and the Excel action Add a row into a table. Each new email becomes a new row.
Prepare the workbook first
- Create an Excel file in OneDrive for Business or SharePoint.
- Type your headers in row 1, for example
Received,From,Subject,Importance. - Select the headers and click Insert > Table. Tick My table has headers.
Build the flow
- Go to Power Automate and create an automated cloud flow. Verify this step: the menu may differ by account type.
- Choose the Office 365 Outlook trigger When a new email arrives (V3).
- Set Folder to the folder you want to watch. Optional filters include From, Subject Filter, Importance and Only with Attachments, all listed in Microsoft's connector reference.
- Click New step, search for Excel Online (Business), and pick Add a row into a table.
- Fill in Location, Document Library, File and Table. The connector reference marks all four as required, plus the row itself.
- Click into each column box and choose matching dynamic content from the trigger: received time, sender, subject, importance.
- Save the flow and send yourself a test email.
Leave Include Attachments set to No. Microsoft warns that setting it to Yes can cause timeouts when many attachment emails arrive together, and suggests the Get Attachment (V2) action instead.
How do you export Outlook emails to Excel with a macro? (Method 3: VBA)
A VBA macro run from Excel reads your Inbox and writes rows to a sheet. It needs no cloud service and no license beyond desktop Office. It only works on a computer with desktop Outlook installed.
- Open Excel, then press Alt + F11 to open the editor.
- Click Insert > Module.
- Paste the code below.
- Change
DAYS_BACKif you want a different window. - Press F5 with the cursor inside
ExportInboxToSheet.
Option Explicit
Sub ExportInboxToSheet()
Const DAYS_BACK As Long = 7
Const OL_FOLDER_INBOX As Long = 6 ' olFolderInbox
Dim olApp As Object, olNs As Object, olFolder As Object
Dim olItems As Object, olMail As Object
Dim ws As Worksheet, r As Long, cutoff As Date
Set olApp = CreateObject("Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(OL_FOLDER_INBOX)
cutoff = Now - DAYS_BACK
Set olItems = olFolder.Items.Restrict( _
"[ReceivedTime] >= '" & Format(cutoff, "ddddd h:nn AMPM") & "'")
olItems.Sort "[ReceivedTime]", True
Set ws = ActiveSheet
ws.Cells.Clear
ws.Range("A1:E1").Value = Array("Received", "From", "Subject", "Unread", "Attachments")
r = 2
For Each olMail In olItems
If TypeName(olMail) = "MailItem" Then
ws.Cells(r, 1).Value = olMail.ReceivedTime
ws.Cells(r, 2).Value = olMail.SenderName
ws.Cells(r, 3).Value = olMail.Subject
ws.Cells(r, 4).Value = olMail.UnRead
ws.Cells(r, 5).Value = olMail.Attachments.Count
r = r + 1
End If
Next olMail
ws.Columns("A:E").AutoFit
MsgBox (r - 2) & " emails exported."
End Sub
The macro uses GetDefaultFolder with the value 6, which Microsoft lists as olFolderInbox. It narrows the list with Items.Restrict, which Microsoft says is significantly faster than looping when a folder holds many items. Microsoft also says the order of items is not guaranteed, so the code sorts them. Running the macro clears the active sheet first, so use a blank sheet.
Which method should you choose?
Pick Power Automate if you want a live log. Pick Power Query for a quick one-off report. Pick VBA if you cannot use cloud flows.
| Method | Cost | Difficulty | Limits | Best for |
|---|---|---|---|---|
| 1. Power Query (Exchange connector) | Included with Excel | Easy | Import only, manual refresh, retirement planned April 2027 | One-off reports, sorting a folder |
| 2. Power Automate | Included with eligible Microsoft 365 (standard connectors) | Medium | Can miss mail, up to 1 hour delay, 25 MB workbook cap | Live log of new emails |
| 3. VBA macro | Included with desktop Office | Medium to hard | Desktop only, no body-text filtering with Restrict | Offline or locked-down setups |
What's free and what costs money?
All three methods can cost nothing extra. Power Automate is the only one with licensing rules, and the details below are as of 13 October 2026.
- Microsoft's licensing page says Microsoft 365 licenses include standard connectors and do not include premium connectors. Both the Office 365 Outlook and Excel Online (Business) connectors are listed as Standard.
- The request limits page (dated 8 September 2026) lists 6,000 requests per user per 24 hours for Microsoft 365 licenses. It says all organizations are in a transition period where the limit applies per cloud flow instead, at 10,000 for Office 365.
- Power Automate Premium is listed at $15.00 per user per month, paid yearly. Microsoft says displayed prices are for marketing purposes only.
- The Outlook connector allows 300 API calls per connection per 60 seconds. The Excel connector allows 100.
What can go wrong, and how do you fix it?
Most failures come from table setup, folder rules or timing. These are the ones Microsoft documents.
- A row is missing. Microsoft says some emails can be missed when many arrive at once. Add a daily check against your Inbox count.
- The row appears late. The trigger can, in rare cases, take up to one hour to fire. Excel changes can also take up to 30 seconds to show.
- An old email you moved never shows up. Moving an email does not change its received date, so the trigger skips it. Watch the folder where mail arrives, or use a rule that delivers into that folder.
- A 403 or 502 error from Excel. Microsoft says write access to the file is required, and a read-only workbook returns 502. Reopen the file with edit rights.
- Duplicate rows. Heavy formulas or many rows can cause timeouts and retries, and Microsoft warns data can then be inserted more than once. Simplify formulas or set the workbook's calculation to Manual.
- A folder name with a slash fails. The
/character is not supported in custom folder names. Use the folder picker or the folder Id.
Is this allowed?
Yes, you are reading your own mailbox with tools Microsoft provides. Check two things before you start.
- Workplace policy. If the mailbox belongs to your employer, your IT team may restrict flows, macros or connectors. Ask before you export messages to a personal file.
- Other people's data. Emails contain names, addresses and sometimes private details. Store the workbook where only the right people can open it, and do not paste its contents into public tools.
What's still unclear?
Three points are open as of 13 October 2026.
- Personal Outlook.com mailboxes. Microsoft's connector page lists "Exchange account" and "Microsoft account" as sign-in choices but does not say whether a free Outlook.com mailbox works. Test with a small folder first.
- The new connectors. Microsoft's notice says Exchange Mail and Exchange Calendar are in customer validation and will replace the current connector by April 2027. Method 1 will need redoing once they arrive. The notice also says versions earlier than Office 2024 will not receive them.
- The weakest point of Method 2. Microsoft's own documentation admits the trigger can miss mail. If you need a complete audit trail, it is not a guarantee.
Last checked: 13 October 2026.
If you work in Gmail instead, see How to Connect Gmail to Google Sheets and Log Every Email Automatically. To send mail from a spreadsheet, see How to Send Emails From Google Sheets Automatically Without Paid Add-ons.
Frequently asked questions
Can Excel read my Outlook emails directly?
Yes. Excel's Power Query has a Microsoft Exchange connector that imports mail into a worksheet. You enter your mailbox address, sign in with an Exchange account or Microsoft account, then pick the data in the Navigator. Microsoft documents the connector as Import only, and plans to replace it with new Exchange Mail and Exchange Calendar connectors by April 2027.
How do I log every new email into Excel automatically?
Use Power Automate. Build a cloud flow with the Office 365 Outlook trigger 'When a new email arrives (V3)', then add the Excel Online (Business) action 'Add a row into a table'. The workbook must be in OneDrive for Business or SharePoint and must contain a table. Both connectors are Standard tier, which Microsoft 365 licenses include.
Is Power Automate free for this?
For this setup, usually yes if you have an eligible Microsoft 365 license. Microsoft's licensing page says Microsoft 365 licenses include standard connectors and do not include premium connectors. Both connectors used here are Standard tier. Power Automate Premium is listed at $15.00 per user per month, paid yearly, as of 13 October 2026.
Will my Power Query workbook break in 2027?
It may. Microsoft's Message Center post MC1461158 says the current Microsoft Exchange connector is planned for retirement in April 2027 and that existing workbooks will not automatically transition to the new Exchange Mail and Exchange Calendar connectors. Workbook owners will need to reconnect using the new connector, which requires Microsoft 365 Apps or Office 2024.
Can a macro filter emails by words in the body?
Not with Items.Restrict. Microsoft's documentation says Restrict cannot filter on the Body property and has no 'contains' operation. To search for words, loop through the items and test each one with InStr in your own code, or use AdvancedSearch. Filtering by received date, as in the macro below, works fine.
Does moving an email to another folder trigger the flow?
No. Microsoft's connector documentation says triggers are based on the received date and time, and moving an email does not change that value. The trigger only watches the folder you configured, so an older email moved into that folder after the last run is skipped.
Sources
- Microsoft Exchange connector (Power Query), Microsoft Learn (2026-10-13)
- Prepare for upcoming changes to the Excel Exchange connector (MC1461158), Microsoft 365 Message Center (2026-08-24)
- Office 365 Outlook connector reference, Microsoft Learn (2026-10-13)
- Excel Online (Business) connector reference, Microsoft Learn (2026-10-13)
- Deep dive on specific Power Automate licenses, Microsoft Learn (2026-09-22)
- Requests limits and allocations, Microsoft Learn (2026-09-08)
- Power Automate pricing, Microsoft (2026-10-13)
- Items.Restrict method (Outlook), Microsoft Learn (2026-10-13)
- NameSpace.GetDefaultFolder method (Outlook), Microsoft Learn (2026-10-13)
- OlDefaultFolders enumeration (Outlook), Microsoft Learn (2026-10-13)