Recently, while working on a Leave Management Application for one of our clients, I came across a requirement to automatically save responses from Microsoft Forms to a SharePoint list.
I have faced an issue while saving multiple checkbox values to SharePoint multiple-choice values; it stores the values in the form of an array [“Parental Leave,” “Personal/Carers Leave,” “Leave Without Pay,” etc.], but the values need to be stored individually.
In this tutorial, I will show you how to save Microsoft Forms details to a SharePoint list using Power Automate. Also, I will cover a couple of topics, such as:
- How to Store Microsoft Forms Multi-Choice Responses to SharePoint Multiple Choice Values
- How to Save Microsoft Forms file uploads to SharePoint Attachments
Store Microsoft Forms Responses to a SharePoint List by Power Automate
I have a Microsoft Form named [Leave Approval Form] with the following details, as given in the table below:
| Column Name | Data Type |
|---|---|
| Employee Name | Text |
| Employee ID | Text |
| Employee Email Address | |
| Leave Type | Choice – Allow Multiple answers |
| Leave Description | Text – Long Answer |
| Leave Start Date Leave End Date | Date |
| Attach Certificate | File |


To store the responses from Microsoft Forms in the SharePoint list, I will create a SharePoint list with all the similar fields that look like below:
| Column Name | Data Type |
|---|---|
| Employee Name | Single line of Text |
| Employee ID | Single line of Text |
| Employee Email Address | Single line of Text |
| Leave Type | Choice – Allow Multiple selections |
| Leave Description | Multiple lines of text |
| Leave Start Date Leave End Date | Date & Time |

Requirement: When a user submits a new leave request in Microsoft Forms, all the responses should be stored in a SharePoint list.
Follow the steps below:
- Create an Automated Cloud Flow using the Microsoft Forms connector’s ‘When a new response is submitted‘ trigger in Power Automate Canva.
- Form Id: Choose your Microsoft Form from the drop-down.

- Next, add a Get response details flow action to retrieve the responses submitted in the Form. Provide the required parameters:
- Form Id: Select the Form Id from the dropdown.
- Response Id: Choose the Response Id from the dynamic content.

Check out Mention Multiple Users in a Microsoft Teams Message using Power Automate
Save Microsoft Forms Multi-Choice Responses to SharePoint Multi-Choice Values
We can save multiple-choice responses to the SharePoint list by adding one more action that will fetch individual choice values.
- Here, add Select action to extract the value of choices, which is in json format, and set the parameters like below:
- From: Add the code placed below
- Map: Take Value in key & add item() from insert expression.
This will give the individual separate values from an array of choices.
json(outputs('Get_response_details')?['body/r5aba02f8b6014ab7ba2ad4dee062c98e']) -> json([Take your Multiple choice field from dynamic content])
- After that, to add the response details to the SharePoint list, take the Create Item action from the SharePoint connector.
- Set Site Address and List Name.
- Click the Show All button to display all advanced parameters.
Then, set all the parameters like below:
| Parameters | Value |
|---|---|
| Employee Name Employee ID Employee Email Address Leave Description | Choose to add the values from dynamic content. |
| Leave Type | Click on Switch to input an array icon -> Choose Output from Select. |
| Start Date | formatDateTime([‘Select dynamic content Start Date’],’MM/dd/yyyy’) |
| End Date | formatDateTime([‘Select dynamic content End Date’],’MM/dd/yyyy’) |

- Now, the flow is ready. To save the flow, click on the save icon. Then, test the flow. In the next step, return to the Microsoft Form and submit a new response by selecting multiple choices in the Choice field. You can see the screenshot below for reference.

- The flow will trigger when a new response is submitted in the Microsoft Form and saves the response to the SharePoint list. Look at the screenshot below:

This is how to save Microsoft Forms responses (with multiple-choice values) to a SharePoint list using Power Automate.
Check out Update SharePoint List Items from Excel using Power Automate
Save a Microsoft Form Attachment to a SharePoint List using Power Automate
To add a Microsoft Forms file to a SharePoint list attachment using Power Automate, follow the steps below:
- Next to the ‘Create item’ action, add the ‘Compose’ action to extract the file uploaded to Microsoft Forms.
- Inputs: Add the below function along with the File upload column from dynamic content.
json(outputs('Get_response_details')?['body/r99e57a5ca22348c0a3d5518ac4e98ed8'])
- Then, add Apply to each loop and set its parameters.
- Select an output from previous steps: Select the Outputs of the Compose action.

- Now, add the Get file content (OneDrive) action to retrieve the content of a file. Where the file is uploaded to Microsoft Forms will be stored in OneDrive.
- File: Insert the expression as item()?[‘id’].
This expression will retrieve the file content based on the ID provided.

- Then, take the Add attachment action to add the file as an attachment to the SharePoint list item. Provide Site Address and List Name.
- Id: Choose ID from the dynamic content of the create item action.
- File Name: Insert the expression as item()?[‘name’].
- File Content: Select File content from the dynamic content of the Get file content action.

- Once the flow is ready, click on the Save button and Test the flow manually. In the Microsoft Form, submit a new response with an attachment.

- When the flow triggers and runs successfully, the attachment will be added to the SharePoint list attachment.

This is how to save a Microsoft form attachment to a SharePoint list attachment with Power Automate.
Conclusion
This tutorial will help you understand how to save Microsoft Form details, including multiple-choice values and attachments, to a SharePoint list using a Power Automate flow.
You may like the following tutorials:
- Extract Data from an Excel using Power Automate Desktop
- Extract Tables from a PDF using Power Automate Desktop
- Add Multiple Users To SharePoint Group Using Power Automate
- How to Delete SharePoint Folders Using Power Automate?
- Create Outlook Calendar Events Using Power Automate

After working for more than 18 years in Microsoft technologies like SharePoint, Microsoft 365, and Power Platform (Power Apps, Power Automate, and Power BI), I thought will share my SharePoint expertise knowledge with the world. Our audiences are from the United States, Canada, the United Kingdom, Australia, New Zealand, etc. For my expertise knowledge and SharePoint tutorials, Microsoft has been awarded a Microsoft SharePoint MVP (12 times). I have also worked in companies like HP, TCS, KPIT, etc.