How to Get Microsoft Forms Responses to Excel and Email With Power Automate Easily 2026
By Impran M NLast checked against official docs
If you've ever exported a Microsoft Forms response sheet by hand, you know how the habit falls apart. Someone forgets to check it, a submission sits unread for two days, and the "live" spreadsheet is really just yesterday's snapshot.
Power Automate closes that gap: a flow watches the form, writes every new response into an Excel Online table, and sends a notification email the moment it lands. None of it needs code, and once it's built it keeps running on its own. This guide covers the trigger, the two connectors it depends on, and the Excel formatting rule that stops the whole thing from working if you skip it.
Before you start
- A Microsoft Forms form that's already collecting responses
- An Excel Online workbook saved in OneDrive or SharePoint, since Power Automate can't target a file kept only on a local drive
01Start from the Power Automate home screen
Power Automate's home page centers on a Copilot prompt box that invites you to describe an automation in plain language, with a few one-click examples above it, like copying Excel rows between files or emailing you when a SharePoint item is created. You can type your own request there, but building this flow by hand the first time makes it easier to troubleshoot later, since you'll understand what each connector is doing. The left rail has Create, Templates, My flows, and Automation center — the last one is where you'll check run history once the flow is live.

02Create the flow and pick the Microsoft Forms trigger
Click Create, choose Automated cloud flow, and give it a descriptive name, something like "Forms to Excel and Email," so it's easy to find later among dozens of others. In the trigger search list, look for "When a new response is submitted," the Microsoft Forms trigger, sitting alongside other common starters like SharePoint's "When an item is created." Select it, click Create, and the flow designer opens with that trigger already on the canvas. Pick your specific form from the dropdown before doing anything else.

03Pull the response details into the flow
The Forms trigger only confirms that something was submitted; it doesn't hand you the answers. Add the "Get response details" action underneath it and connect it to the same form.
Set Response Id using the dynamic content token from the trigger, so each run fetches the specific response that just came in instead of an old one. This step is also where individual question answers become tokens you can drop into the Excel and email steps that follow, the exact fields you defined when you built the form.
04Turn the destination range into a real Excel table, then map the fields
Power Automate's Excel connector only writes into named tables, not a plain range of cells with headers. Open the workbook in Excel Online, select the header row plus a few blank rows below it, and use Insert > Table so Excel formats and names it.
Match the column headers to your form's questions: Submission Time, Name, Email, and any custom fields. Back in the flow, add "Add a row into a table," pick the file's location, the workbook, and the table you just created.
Power Automate reads the table's headers and gives you one input box per column; click into each one and insert the matching token from Get response details instead of trusting the auto-fill order. Getting this mapping right the first time is the most common source of blank or misaligned rows.

05Add the Outlook notification email
Add a "Send an email (V2)" action from the Office 365 Outlook connector beneath the Excel step. Write a subject line that says what came in at a glance, something like "New form response from [Name]," using the same token used for Excel.
Build the body out of the individual answer tokens instead of one blob of raw data, so the email reads like a summary and not a debug log. Set the To field to whoever needs to see submissions first; more recipients can be added once the flow is proven out.
06Save, run a real test, and confirm both outputs
Save the flow, then submit a real response to the form to trigger it end to end. Power Automate's run history lights up each step green as it executes: the trigger firing, the response details pulling in, then the Excel and Outlook actions completing in sequence.
Open the Excel table to confirm the new row landed in the right columns, and check the inbox for the notification email. If a step shows a red X instead of green, open it in Automation center. The error message there names the specific problem, like an expired connection or an invalid recipient, more precisely than guessing from the outside.

When it doesn't work
No columns appear to fill in on the Add a row into a table step
Why: The destination range is still a plain header row, not a table Power Automate recognizes. The Excel connector only lists column fields once Insert > Table has been applied.
Fix: Go back to the workbook, select the header row and a few rows below it, apply Insert > Table, then reopen the action in the flow so it re-reads the table's columns.
New rows land in the wrong columns
Why: The dynamic content tokens were dropped into the fields in insertion order, not matched to the specific form question each column expects.
Fix: Click into each column input individually and pick the token that names the matching question, instead of pasting them in sequence.
The Excel row appears but the notification email never arrives
Why: The Outlook step failed on its own, usually an expired connection or an invalid To address, without stopping the Excel step before it.
Fix: Open the flow's run history in Automation center. A failed step shows a red X with the specific connector error instead of just "didn't work."
Frequently asked questions
Do I need a premium Power Automate license for this flow?
No. Microsoft Forms, Excel Online (Business), and Office 365 Outlook are all standard connectors, included in the Power Automate plan bundled with most Microsoft 365 subscriptions. A premium license only becomes necessary if a flow adds a premium or custom connector.
Can the notification go to more than one person?
Yes. Add multiple addresses in the Send an email action's To field, or route different form fields to different recipients with a condition.
Does the Excel file need to stay closed while the flow runs?
No. Excel Online handles automated row additions fine while the file is open elsewhere; just avoid heavy manual editing at the exact same moment a row is being added.
Why isn't my form data showing up in Excel?
Almost always a mapping or format issue: check that each token in Add a row matches the right form question, and confirm the destination range is formatted as a table, not just a range with headers.
Can Copilot build this flow instead of doing it by hand?
Yes, the home screen's prompt box can generate a starting flow from a plain-language description. It's still worth opening each generated step once, since Copilot doesn't always map every field the way this guide does.
Sources and last check
Click path and screens come from a walkthrough recorded in July 2025. The trigger and action names, the requirement that the Excel range be a real table, and the standard-connector licensing claim were re-checked against Microsoft's own support walkthrough and the Office 365 Outlook connector reference on Microsoft Learn in September 2026.
About the author

Impran M N
I've been hooked on technology for as long as I can remember — especially the new tools and AI apps that seem to land every other week. Easy Tech Tuts is where I write up whatever I've just worked out: I do the task in the real product, record the screen, and turn it into the guide I wish I'd found first.



