top of page
Writer's pictureYash Agarwal

Streamlining Approvals for External Users in Power Automate: Using HTTP Triggers and Email Redirects

In this #PowerShot, I will show you how to streamline approval processes for external users using Power Automate Cloud Flows. You will learn how to set up an efficient approval workflow triggered by HTTP requests, allowing external users to participate seamlessly. Additionally, we’ll highlight a powerful feature that redirects users to a specific page based on their email response choices, enhancing user experience and ensuring a smooth approval process. Whether you're managing project approvals, document sign-offs, or any other external approval needs, this guide will provide you with the tools and knowledge to implement an effective solution.

 
Let's Get Started

Power automate approvals allow users to build automation to efficiently manage approvals for various processes within the organization. However, for use cases that involve users outside of the organization, approvals cannot be used directly. In this post, we will take a look at a use case where we have external users involved in the process and the requirement is to build an automation to streamline a process for approval.

 
Use Case

In this use case, a volunteer interested in working with an organization fills out a Microsoft Forms form. The submission is stored in a SharePoint list, where the HR manager updates details such as pay per hour, place of work, start date and etc. Upon updating the SharePoint item, a Power Automate cloud flow is triggered, sending an email to the volunteer with the updated information. The email provides two options for the user: Accept or Deny the offer. If the volunteer accepts, they are redirected to another MS Form to provide more details. If they deny, they are redirected to a different MS Form to provide feedback, and the SharePoint list is updated to reflect their decision. This streamlined process ensures efficient communication and feedback management for the organization.

 
Form 1

This is the first form for the solution. It is filled out and submitted by the requestor to initiate the process. Below is a screenshot for the setup of this form.

Microsoft Form to initiate the process flow
 
Form 2

This is the second form for the solution. Once the HR manager completes their review, the email for approval is sent to the requestor. If the requestor approves, they are redirected to this form to provide further details. Below is a screenshot for the setup of this form.

Mircosoft Forms Form for requestor to provide additional details after accepting offer
 
Form 3

This is the third form for the solution. If the requestor selects the Deny option in the email, they are redirected to this form to provide feedback in order to end the process. Below is a screenshot for the setup of this form.

Mircosoft Forms Form for requestor to provide feedback after denying offer
 
Power Automate Cloud Flow 1

Step 1: Trigger: When a new response is submitted - MS Forms trigger to run the flow when a user submits the Volunteer Initial Submission Form.


Step 2: Action: Get response details - To get the details of submitted response from MS Forms.


Step 3: Action: Create item - To create a new item in SharePoint for the form submission.


Below is the screenshot with the configuration steps for this Power Automate flow.

Power automate cloud flow to save the MS forms response to SharePoint list

Step 4: Save the flow.

 
Power Automate Cloud Flow 2

Step 1: Trigger: When an HTTP Request is Received - To trigger the Power Automate flow when an HTTP Request is received. It is important to set this flow up in order to setup the next flow. The trigger configuration is as shown in the screenshot below.


Step 2: Action: Initialize Variable - Initialize a variable to store the URL of the redirect form. This variable will define which form the user is redirected to once they select a response in the email.

HTTP request trigger configuration with path paramters

Relative path for trigger:

spitem/{id}/userresponse/{userResponse}

The relative path configuration is required to identify the SharePoint item ID and the response selected by the user.


Step 4: Control: Condition - To check for the user response. In the left box for the condition, select "userResponse" from the dynamic data selector under the trigger outputs. In the right box of the condition type "Accept". This condition will evaluate if the user response was Accept and then follow the actions in the Yes branch and if the selected option was "Deny", it will follow the steps in the No branch. Screenshot of the control configuration is as shown in the screenshot below.

Conditional branching based on user response

//Yes Branch


Step 5a: Action: Update item - To update the SharePoint item with status as Accepted.

Expression for item ID:

@{int(triggerOutputs()['relativePathParameters']['id'])}

Step 5b: Action: Set Variable - To update the variable for redirect form URL to point to the form for requesting additional information.


//No Branch


Step 6a: Action: Update item - To update the SharePoint item with status as Denied.

Expression for item ID:

@{int(triggerOutputs()['relativePathParameters']['id'])}

Step 6b: Action: Set Variable - To update the variable for redirect form URL to point to the form for requesting feedback.


Step 7: Action: Response - To return a response to the initiator after the process is complete.

HTTP response action with configuration to redirect user

Step 8: Save the flow. Once the flow is saved, you will be able to copy the HTTP URL from the trigger of this flow.

 
Power Automate Cloud Flow 3

Step 1: Trigger: When an item or file is modified in SharePoint - This is to trigger the flow when the HR manager has completed the review and the application is now to be sent to the requestor for a response. Below is a screenshot for the trigger setup.

Sharepoint trigger configuration for Power Automate

To only make the flow trigger when the status changes to 'Send for Review', we will use a trigger condition and the setup for that is as shown in the screenshot below.

Trigger condition setup for SharePoint choice type column in Power Automate

Trigger condition text:

@equals(triggerOutputs()?['body/Status/Value'],'Sent for Review')

Step 2: Action: Send an email - To send an email notification to the requestor with the option to accept or deny. Below is the screenshot of the email action configuration.

Email notification configuration with actionable response buttons

In the email body, the URL from the trigger of Power Automate Cloud Flow 2 is required to setup the actionable buttons. Provide the URL and update the path parameters to point to values required for the setup.


Step 3: Save the flow.


You can add further logic as per requirement to send email notifications to the user in case they are responding twice on the same request, general reminders, notifications to HR team etc.

 
Setup in Action
 

In conclusion, streamlining approval processes for external users in Power Automate using HTTP triggers and email redirects significantly enhances efficiency and user experience. By implementing this method, organizations can ensure timely and accurate responses from external stakeholders, reducing administrative overhead and improving workflow management. This approach not only simplifies the approval process but also provides a seamless and interactive experience for users, guiding them through tailored responses and feedback collection. By leveraging Power Automate's capabilities, you can create robust, automated approval systems that cater to the needs of both your organization and external participants, ensuring a smooth and effective process from start to finish.


I hope you found this interesting and it helped you. Thank you for reading!

Recent Posts

See All

1 Comment


Toni Serrano
Toni Serrano
Aug 19

Great post! How would it be in the case where the form responses are saved in Dataverse? I can't find a way to invoke the record in question. Thank you very much!!!

Like
bottom of page