Common ways to use a form in a flow
If you're not sure where to start, these are some of the most common ways people use Microsoft Forms with Power Automate:
- Send an email when there's a new form response
- Send an email to the form responder
- Send an approval request with the form details
- Add form responses to an Excel worksheet
- Get an attachment from a form and send it in an email
Send an email when there's a new form response
You can turn on email notifications for the form's owners in your form settings. If you want someone else to be notified when a response is submitted, create a custom email notification with Power Automate.
Note
- Power Automate uses either the classic cloud flows designer or the new modern designer with Copilot capabilities. To identify which designer you’re using, go to the Note section in Explore the cloud flows designer.
- When you switch between the classic and new designer, you're asked to save your flow. You can't save and switch until all errors are resolved.
Ask Copilot to create your flow by typing the following prompt:
when a new MS Forms response is submitted, send an email
Power Automate returns a suggested flow that corresponds to what you've entered.
Select Next.
Review the connections and select Create flow to land on the designer.
On the designer, provide the missing fields in the Send an email* action if Copilot didn't automatically populate it for you.
Send an email to the form responder
You can turn on email receipts for respondents in your form settings. If you want to customize the email they receive, use Power Automate.
Ask Copilot to create your flow by typing the following prompt:
Send email to the responder along with their response
Copilot tries configuring most of the parameters in the email action, as in the following example:
Fill in the rest of the parameters in the email action (Email body).
Save the flow.
Send an approval request with the form details
In this example, we'll start with another prebuilt template and customize it to create a vacation approval request.
[This topic is prerelease documentation and is subject to change.]
Search for Microsoft Forms in the Power Automate template gallery and select the template named Send form responses for approval.
Sign in to or create the connectors, as needed, and select Continue.
Ask Copilot to create your flow by typing the following prompt:
when a new response is submitted, start an approval with megan@contoso.com and if it succeeds, send email to the responder
Power Automate returns a suggested flow that corresponds to what you've entered.
Select Next.
Review the connections and select Create flow to land on the designer.
On the designer, provide the forms ID, approver's email, and configure the email action.
Save your flow.
Add form responses to an Excel worksheet
In this example, you create a flow from blank. Continuing with the scenario from our earlier examples, we'll use the flow to record employees' names and vacation dates in an Excel table when they submit their summer vacation form.
Create an Excel sheet if it doesn't already exist.
From within the designer, simply ask copilot to create your flow by typing the the following prompt:
If approved, add the forms response to excel sheet
Power Automate returns a suggested flow that corresponds to what you've entered.
Choose the Excel sheet of your choice.
In the respective column fields, choose the response token from MS forms trigger.
For example, choose the vacation start token in the Vacation start field of the Excel action.
Get an attachment from a form and send it in an email
In this example, we'll create another flow from blank. We'll use the flow to create a share link for a file that's uploaded on our summer vacation form, and then email the link.
Select your form
In Power Automate, create an automated cloud flow from blank.
Select the Microsoft Forms When a new response is submitted trigger.
In the first step in the flow, When a new response is submitted, select your form in the Form Id box.
Add a step to your flow:
- Search for forms, and then select Microsoft Forms.
- Select Get response details.
- Select your form in the Form Id box.
Use a JSON schema to find the uploaded file
Save and test your flow. Be sure to upload a file to your form.
This step allows Power Automate to use the test run to generate a sample JSON schema for the uploaded file.
On your flow's information page, under 28-day run history, select the test run.
Expand the Get response details step and copy the contents of the file upload output.
In the upper-right corner of the window, select the Edit pencil icon to open the flow canvas.
Add a step to your flow:
Search for "parse" and select Parse JSON.
In the Content box, select the dynamic content that corresponds to the file upload option on the form.
Select Generate from sample.
Under Insert a sample JSON payload, select the box and paste the file upload output you copied earlier, and then select Done.
The Parse JSON action should look something like this after you select Done:
Create a share link and email the URL
Add a step to your flow:
Search for "create share link" and select the OneDrive for Business action Create share link.
Select the File box. The dynamic content panel opens. Select the Expression tab.
Type the following expression: first(body('Parse_JSON'))?['id']
Select the Link type and Link scope.
Select OK.
Add a step to your flow:
Search for "send email" and select the Office 365 Outlook action Send an email (V2).
Enter the recipients, subject, and body of the email. Select dynamic content to include details from the form response in your email.
Convert the URL to a clickable link
To make the URL of the shared file a clickable link in the email, you'll need to use the HTML editor and an anchor tag:
- In the email body toolbar, select the HTML view icon (</>).
- Enclose the dynamic content Web URL and name in an anchor tag to turn them into a link and the link title, respectively.
In this example, you entered the following HTML in the email body, where text in curly brackets indicates the dynamic content:
<a href="{WebURL}">{name}</a>
Here's an example:
You can combine getting an attachment from a form and creating an approval flow.