WhatsApp messages to Excel: export a chat or log every lead
Two ways to get WhatsApp messages into Excel: export one chat and split it into columns with Power Query, or log every new message with Power Automate.
- Written by
- By WavesFlo team
- Last updated
- Updated
- Reading time
- 8 min read
WhatsApp can't save chats as a spreadsheet, but Excel can read its exports. For one chat, use Export chat, which saves a text file (zipped on iPhone), and split it into columns with From Text/CSV and Power Query. To log each new message, a Power Automate flow fed by a WhatsApp tool's webhook can add it to an Excel table.
The first method is free and suits one customer's history, such as a dispute over what was quoted. The second suits a sales team that wants a running log of enquiries in a workbook its managers already open. Both are below, with the limits of each, and a note on where WavesFlo's own exports fit.
Can you export a WhatsApp chat to Excel?
Not directly. WhatsApp's Export chat produces a text file, not a spreadsheet, and you export one chat at a time from inside it. As of October 2026, WhatsApp's help centre adds that on iPhone the export arrives as a ZIP file and leaves out view once messages, and that including media attaches only the most recent media. The file can't be imported back into WhatsApp either, because it is a text file, not a backup. Excel can open it and turn it into columns. And as of October 2026 there is no Export chat in a chat where someone has turned on Restricted chat, or the Advanced chat privacy it is replacing: both stop anyone exporting it.
How do you export a WhatsApp chat on Android and iPhone?
On Android:
- Open the chat.
- Tap More options (the three dots), then More, then Export chat.
- Choose Without media, which is all Excel needs.
- Pick how to send it, for example by email, so it reaches the computer that has Excel.
On iPhone:
- Open the individual or group chat.
- Tap the contact's or group's name at the top, then Export chat.
- If the chat contains media, choose Without Media.
- Send it to yourself, for example by Mail, and unzip the file on the computer.
How do you open a WhatsApp export in Excel with proper columns?
In the exported text, each message normally starts on a new line with its date and time, then the sender's name, then the text. The punctuation between them differs between Android and iPhone and with your phone's date settings, so look at the first few lines before you start. Power Query, built into Excel, does the splitting:
- In Excel, go to Data, then From Text/CSV in the Get & Transform Data group, and pick the file. If the preview splits lines at commas, set Delimiter to Custom with a character your chats never contain, such as |, so each line stays whole. Then choose Transform Data to open Power Query.
- Select the column, choose Split Column, then By Delimiter, and enter the characters that separate the time from the name in your file. Split at the left-most delimiter.
- Split the right-hand column again at the left-most colon, which separates the name from the message. Using the left-most one keeps colons inside messages, such as Rate: ₹450, intact.
- Split the left-hand column at the comma between date and time, and clear any brackets with Replace Values.
- Set the date column's type with Change Type, then Using Locale, and pick the locale that matches your phone, such as English (India), so 05/10/2026 reads as 5 October rather than 10 May.
- Choose Close & Load to put the table on a sheet.
Two clean-ups remain. A message with line breaks spills onto extra rows that don't start with a date, and WhatsApp's own notices, such as a change of group name, have no sender; filter both out or fix them by hand. A worksheet holds up to 1,048,576 rows, plenty for one chat.
How do you log every new WhatsApp message to Excel automatically?
Use Power Automate with a service that sends an event for each message. With WavesFlo, the signed message.received event fires for every incoming message on a connected number and carries an event ID, the sender, their profile name, the text, a timestamp and the id of the number it arrived on.
- Keep the workbook in OneDrive for Business or SharePoint, under the Excel Online (Business) connector's 25 MB limit, and format a table named Messages with the columns EventID, Time, From, Name, ArrivedOn, ChatType and Message. Keep column names to letters and numbers, because the connector's Filter Query accepts nothing else.
- Create a cloud flow that starts with When an HTTP request is received, save it to get the URL, and set who can trigger it to Anyone. Microsoft's other options expect a Microsoft Entra token, which WavesFlo's webhooks don't carry, so the signature check is what keeps strangers out.
- In WavesFlo, add a webhook destination with that URL, subscribed to the Messaging category, and add a condition in the flow that continues only for message.received events from a direct chat. The event also fires for group, channel and status messages and says which kind of chat it came from; send group messages to a table of their own if you want them.
- Verify the signature in a small Azure Function before going further; the Power Automate connector guide explains why expressions can't do it.
- Add List rows present in a table with the Filter Query EventID eq followed by the event's ID in single quotes, and continue only if no rows come back, so a retried delivery is skipped.
- Add the Add a row into a table action, mapping the event's fields to the columns and using the event's own timestamp for Time.
- In the trigger's settings, turn on Concurrency Control with a limit of 1.
Those settings follow from how the connector behaves, per Microsoft's documentation as of October 2026. Writes can take up to 30 seconds to show, so a duplicate arriving within seconds can still slip past the check; the EventID column lets you clear it later with Remove Duplicates. Writing to one file from several places at once isn't supported, so don't edit the log by hand while the flow runs. The connector allows 100 calls per connection a minute. And the flow needs a premium licence: Excel Online (Business) is standard, but the call to your Azure Function goes through Microsoft's premium HTTP connector.
How do you keep one row per lead in Excel?
Add a second table, Leads, keyed on the sender's number, and fill it from direct chats only. After the new row is added, list the Leads rows whose From matches the sender. If none comes back, add a row with the first-seen time, name, the number it arrived on and the first message. If one exists, use Update a row with From as the key column and fill in only LastMessage and LastSeen: Microsoft's documentation says columns left blank are not updated, so the first-message columns keep their values. Leave formulas out of both tables, because Microsoft warns that recalculation can time the connector out and a retry can then insert a row twice.
What about the reports WavesFlo exports?
They answer a different question. WavesFlo's 11 reports export as CSV and JSON; the CSV files open in Excel through the same From Text/CSV step. They cover what you sent and what happened to it, from delivery receipts: sent, delivered, read and failed. They are not a transcript of your inbox. Read rates in them are a floor, because people can turn read receipts off. What each campaign metric means explains the figures.
Excel or Google Sheets for a WhatsApp log?
| What differs | Excel | Google Sheets |
|---|---|---|
| Automation tool | Power Automate, with a premium licence | n8n, including its free self-hosted Community edition, or Power Automate |
| Stopping duplicates | Check the EventID column before each write | n8n's Append or Update Row matches on the event ID in one step |
| How much it holds | Files up to 25 MB through the connector; 1,048,576 rows per worksheet | Up to 20 million cells per spreadsheet |
| Best for | Teams whose reporting already lives in Microsoft 365 | Teams on Google Workspace, or without a Power Automate licence |
The Google Sheets version is in logging WhatsApp leads to Google Sheets, and the same events can go to a CRM instead, as in the Zoho CRM guide. Going the other way, from a table to WhatsApp, is a separate flow: sending WhatsApp messages from Excel with Power Automate. For the wider routine, see running WhatsApp sales as a team.
Questions
Can I export all my WhatsApp chats to Excel at once?
Not in one step. As of October 2026, WhatsApp's help centre describes exporting from inside a chat, one chat at a time, as a text file. Export each chat you need and import it into Excel separately, or log new messages automatically with a Power Automate flow.
Is there a free WhatsApp to Excel converter?
Excel itself. From Text/CSV and Power Query's Split Column turn an exported chat into columns at no extra cost. Online converters ask you to upload customers' messages to someone else's server, which is worth avoiding.
Can I export a WhatsApp group chat to Excel?
Yes, unless the group has Restricted chat or Advanced chat privacy turned on: both block exporting. Otherwise Export chat works in group chats too, and each message carries the sender's name, so the same Power Query steps give you a sender column you can filter or count.
Does logging WhatsApp messages to Excel need a premium Power Automate licence?
Yes. Excel Online (Business) is a standard connector, but the flow verifies each webhook's signature by calling an Azure Function through the HTTP connector, which Microsoft classes as premium.
Will older WhatsApp messages appear in the Excel log?
No. The flow records messages that arrive after it is switched on, and in WavesFlo a chat's history starts when its number was linked. For one chat's earlier messages, use WhatsApp's Export chat. Chats with Restricted chat turned on can't be used on linked devices, so they never reach WavesFlo or the log, and they can't be exported either.
Sources
- WhatsApp Help Center: How to export your chat history, Android (checked 5 Oct 2026)
- WhatsApp Help Center: How to export your chat history, iPhone (checked 5 Oct 2026)
- WhatsApp Help Center: About restricted chat (checked 5 Oct 2026)
- Microsoft Support: Import or export text (.txt or .csv) files
- Microsoft Learn: Split columns by delimiter in Power Query
- Microsoft Learn: Excel Online (Business) connector (checked 5 Oct 2026)
- Microsoft Learn training: Overview of HTTP connectors in Power Automate
- Google Drive Help: Files you can store in Google Drive