Send uploaded files from MS Form as email attachments

by

In this article, I will create a flow send uploaded files from MS Form as email attachments

Step-by-Step Guides

Create the Microsoft Form

  1. Go to Microsoft Forms

2. Create a new form

Click “New Form”

3. Add questions

Add questions

4. Add a “File Upload” question

  • Choose “Allow only specific file types” > For example Image, Video (optional)
  • Enable “Allow multiple files”
  • Set max number of files as needed (e.g., 3)
Add “File Upload” question

5. Publish and test your form

📌 Result: Files uploaded via Form will be stored in your OneDrive/SharePoint, depending on where the Form is hosted (personal vs. group form)

All questions in MS Form

Create Power Automate Flow

  1. Use trigger “When a new response is submitted” (Microsoft Forms)
Trigger “When a new response is submitted”

2. Form Id: Select your form

Select Form Id

3. Use action “Get response details”

  • Form Id: Select your form
  • Response Id: Select dynamic content “Response Id”
Select Form Id and Response Id

4. Use “Parse JSON”

  • Content: Select dynamic content “your file upload question”
  • Schema: Write as per below code block
{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "name": {
                "type": "string"
            },
            "link": {
                "type": "string"
            },
            "id": {
                "type": "string"
            }
        },
        "required": [
            "name",
            "link",
            "id"
        ]
    }
}
Select dynamic content and write schema as per above code block

5. Use “Initialize variable”

  • Name: AttachmentArray
  • Type: Array
Name the variable and select type as array

6. Use “Apply to each”

  • Select dynamic content value from Parse JSON
Select output from previous step

7. Use “Gett file content using path”

  • File Path: Add your MS form file path with dynamic content “Body name” from Parse JSON
Use MS Form file path with dynamic content

8. Use “Append to array variable”

  • Name: Select “AttachmentArray”
  • Value: Write as per below code block
{
  "Name": @{items('Apply_to_each')?['name']},
  "ContentBytes": @{base64(body('Get_file_content_using_path'))}
}
Select variable and write schema as per above code block

9. Use “Send an email (V2)

  • To: Your desired recipient
  • Subject: Text as needed
  • Body: Include any details you want from the form
  • Attachment: Click “Swith to input entire array”, then use “AttachmentArray” as the attachments input
Fill out parameter as per above image as you need

Test the flow

Submit form (upload 2 files)

Flow run successfully

Check email attachment

Did You Enjoy this Article?

Subscription to get new articles sent to your inbox each week for FREE

Question?

If you have any questions or feedback about this article please leave a message in the comments section below.

Subscribe to get new articles sent to your inbox each week for FREE