Skip to main content

Notifications

Power Automate - Building Flows
Unanswered

Secure When an HTTP request is received

(0) ShareShare
ReportReport
Posted on by 16
Hello Power Automate Community,
 
I hope you can help, please.
 
I'm looking for advice on how best to secure a Flow which has the trigger "When an HTTP request is received". I've read through all the documents I can find and watched numerous videos, but what I'm trying to achieve is this. 
  1. I created a Flow using the "When an HTTP request is received" and it generated the URL. Here is an fake example: "https;//lotsofcharacters.blarblar.com".
  2. I then go into a third party application, such as Salesforce, ServiceNow etc. From that third party application, when something happens, let's say a record is created, the third party system will send a webhook message with information in the body to my Flow example URL above.
  3. It then triggers the Flow and the Flow does what it's meant to do.
Everything is perfect except the example URL to trigger my Flow can be called by anyone from anywhere, so if someone gets hold of the example URL they can trigger the Flow. 
 
My question is, how do I make it so that the Flow can only be triggered if the call comes from the third party system such as Salesforce, ServiceNow, Jira etc?
 
Two things I explored was:
  1. Trigger Conditions | Adding a trigger condition so if there is something specific in the body, header etc, then only fire. But this will wouldn't stop potential DOS attacks, I believe.
  2. Authentication | There is the "who can trigger this flow" dropdown on the trigger, but as the call is coming from a third party then I couldn't work out how to use this.
Any thoughts would be greatly appreciated.
 
Thanks,
 
Garry
 
 
  • VeGETzX Profile Picture
    VeGETzX 338 on at
    Secure When an HTTP request is received

    I have tried something similar before.

    I used an HTTP trigger to receive requests from a third-party service. During the process, I discovered that

    • We cannot set 'Who can trigger the flow' to specific users or restrict it to the organization. This is because enabling this option requires all incoming requests to be authenticated via Microsoft Entra ID, which is not supported by standard webhooks.
    • Using trigger conditions is the best approach if you have logic to correctly verify that the requests are coming from a trusted source.
      • With trigger conditions, even if someone sends a request to your URI, it won't trigger the flow unless it meets the specified condition. This means that if the person doesn't know your detection logic, they cannot trigger your flow and should prevent POS attach that you aware of.

    Here’s an example of using a trigger condition to validate a secret key in the request header.

     
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

November 2024 Newsletter…

November 2024 Community Newsletter…

Community Update Oct 28…

Power Platform Community Update…

Tuesday Tip #9 Get Recognized…

Welcome to a brand new series, Tuesday Tips…

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 143,867

#2
RandyHayes Profile Picture

RandyHayes 76,308

#3
Pstork1 Profile Picture

Pstork1 64,161

Leaderboard