Create an Approval Workflow in Power Automate Using Microsoft Forms

Not every employee in a company gets access to Power Apps, and honestly, that’s pretty normal. Many organizations skip Power Apps because it requires extra licensing, and not every team wants to invest in that.

Recently, I worked with a manufacturing company that encountered this exact issue. Their HR team wanted a simple approval process for leave requests, new joiner setups, and other small day-to-day requests. But since most employees didn’t have Power Apps licenses, they needed something everyone could use at no additional cost.

That’s when we decided to use Microsoft Forms. Anyone can fill out a form from any device, and it doesn’t require a license to submit a response. Once the form is submitted, Power Automate can automatically pick it up and send the approval to the manager.

In this tutorial, I will show you how to create an approval workflow using Microsoft Forms and Power Automate.

Microsoft Form Approval to a Manager Using Power Automate

For this example, I created a Microsoft Form for Leave Requests.

How to Send Microsoft Forms File Uploads to an Approval Workflow

I created two SharePoint lists to store the submitted leave details:

Microsoft Form Approval to a Manager Using Power Automate

Manager’s name of one department:

 approval workflow with microsoft forms in microsoft power automate

Now follow the steps below:

Save the Form Response in SharePoint List

  1. Go to Power Automate. Click on Create Automated cloud flow. Name: Generate QR Code for Registrations. Select trigger: When a new response is submitted. Select the Leave Request Form from the dropdown.
Power Automate workflow created to trigger approvals from Microsoft Forms submissions
  1. To retrieve the response, add the Get response details action from the Microsoft Forms connector. Then, select the Form ID from the dropdown menu and choose the Response ID from the dynamic content of the ‘When a new response is submitted’ trigger.
Tutorial showing how to automate approvals when a Microsoft Form is submitted
  1. Add the Create item action and provide the parameters below to store the form data in our SharePoint list.
  2. Select your site, choose the Leave Requests SharePoint list, then map all Microsoft Forms fields to the SharePoint columns.
    • Employee Name: From response
    • Employee Email: From response
    • Department: From response
    • Leave Type: From response
    • Start Date: From response
    • End Date: From response
    • Reason: From response
    • Manager Email: From response
    • Status: Pending
Power Automate interface for connecting form responses to an approval flow

Add Form Attachment to the SharePoint List

Now I will show you how we can add the Microsoft Form attachment to the SharePoint list and store all attachments in an array variable so that we can add them to the approval action.

  1. Add a Compose action and provide the following expression:
json(outputs('Get_response_details')?['body/r69af4678a54143f78f975d954f0eac5c'])

Replace the r69af4678a54143f78f975d954f0eac5c with your attachment field ID.

Setup screen for creating an approval workflow triggered by Microsoft Forms
  1. Add an Initialize variables, provide the below parameter to store the attachments:
    • Name: varAttch
    • Type: Array
Sending approval email from a Microsoft Forms submission using Power Automate
  1. Then, add Apply to each loop and provider output of the compose action in the ‘Select an output from previous steps’.
Microsoft Forms connected to an automated approval process in Power Automate
  1. Now, add the Get file content (OneDrive) action inside the ‘Apply to each’ to retrieve the content of a file.
    • File: Insert the expression as item()?[‘id’].
Power Automate flow created from a Microsoft Forms submission trigger
  1. After that, add 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.
Approval request generated from Microsoft Forms using Power Automate
  1. Then, add append to the array variable and provide the parameters below:
    • Name: varAttch
    • Value:
{
  "name": "@{item()?['name']}",
  "content": {
    "$content-type": "@{body('Get_file_content')?['$content-type']}",
    "$content": "@{body('Get_file_content')?['$content']}"
  }
}
Microsoft Forms and Power Automate integration for approval automation

Based on Department Get the Manager Name and Email

Now, based on the department, we need to get the manager’s details.

  1. Add two Initialize variables with string type to store the manager’s email and name.
Configuring Microsoft Forms response trigger in Power Automate
  1. Add a Get Items action and provide the parameters below to get the manager’s name and email. Provide Site Address and List Name.
    • Filter Query:
Department eq '@{outputs('Get_response_details')?['body/rad997569307b4974a28e242cac1ccaf9']}'
Power Automate dynamic content from Microsoft Forms in approval message
  1. Add Apply to each action again and provide the Get Items action body. Inside that, add two set-variable actions: one for name and another for email.
items('Apply_to_each_1')?['Manager/Email']
items('Apply_to_each_1')?['Manager/DisplayName']
Power Automate approval action used for a Microsoft Forms workflow

This is how we can dynamically get the manager’s email using Power Automate.

Set the Approval Action

We now have the manager’s name and email, and we have also saved the data in the SharePoint list so that we can proceed with the approval process.

  1. Now, add the Start and wait for an approval action. Provide parameters below:
    • Approval type: Approve/Reject – First to respond
    • Title: Leave Request Submitted by @{outputs(‘Create_item’)?[‘body/EmployeeName’]}
    • Assigned to: @{variables(‘varEmail’)}
    • Attachments: @{variables(‘varAttch’)}
    • Details:
Hello @{variables('varName')},

A new leave request has been submitted and is awaiting your approval.

Employee Name: @{outputs('Create_item')?['body/EmployeeName']}
Department: @{outputs('Create_item')?['body/Department/Value']}
Leave Type: @{outputs('Get_response_details')?['body/LeaveType']}
Start Date: @{outputs('Get_response_details')?['body/StartDate']}
End Date: @{outputs('Get_response_details')?['body/EndDate']}
Reason: @{outputs('Get_response_details')?['body/Reason']}

You can review the submitted leave request using the link below:
[Open Request](@{outputs('Create_item')?['body/{Link}']})

Kindly review and take appropriate action.

Thank you,
Power Automate Leave Request System
Mapping Microsoft Forms fields to approval details in Power Automate
  1. Next, add a Condition action to check the outcome of the approval.
outputs('Start_and_wait_for_an_approval')?['body/outcome']  is equal to Approve
Approval settings screen in Power Automate for form-based workflows
  1. In the True section, add the Update item action and provide the parameters below:
    • Site Address: Provide the site address.
    • Library Name: library name.
    • Id: Use the ID from the create item action.
    • Status Value: Approve
    • Manager Comments: body(‘Start_and_wait_for_an_approval’)?[‘responses’][0]?[‘comments’]
Creating an automated approval flow using Microsoft Forms responses
  1. In the False branch of the condition (when the outcome is not Approve): Add Update item action:
    • Site Address: Provide the site address.
    • Library Name: library name.
    • Id: Use the ID from the create item action.
    • Status Value: Reject
    • Manager Comments: body(‘Start_and_wait_for_an_approval’)?[‘responses’][0]?[‘comments’]
Power Automate designer showing Microsoft Forms trigger and approval action
  1. If you want, you can add a ‘Send an email (V2)‘ action after the Update item action.
Microsoft Forms response data passed into a Power Automate approval request

Now that our approval flow is completed, we need to test and check that everything is working fine.

Test the Approval Workflow in Power Automate Using Microsoft Forms

Click Save in the top-right corner of Power Automate. Wait for the confirmation message: Your flow is ready to go.

Submit a leave request from Microsoft Forms.

Power Automate approval history generated through Microsoft Forms

After some time, you can see the flow will create the item in the Sharepoint list.

Form response captured and processed in Power Automate approval flow

Then the manager will receive the approval email like below:

Power Automate condition added after approval step for form workflow

Once the Manager approves, the employee will receive a conference email.

Create an Approval Workflow in Power Automate Using Microsoft Forms

You may also like:

Power Apps functions free pdf

30 Power Apps Functions

This free guide walks you through the 30 most-used Power Apps functions with real business examples, exact syntax, and results you can see.

Live Webinar

Quiz App Using SharePoint Framework (SPFx)

Learn to built a complete Quiz Management solution that enables admins to create and manage quizzes, categories, questions, and settings with an easy automated setup process in SharePoint. It also includes an interactive quiz experience for users and a powerful dashboard to track participation, analyze results, and view detailed performance reports with charts and answer insights.

📅 2nd June 2026 – 10:00 AM EST | 7:30 PM IST

Download User registration canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App