Introduction
In Power Automate, to get the information about the flow that is running workflow function is used and one of the common scenarios in case of failures send notifications in the form of an email to a particular user with the flow name and the environment that the flow ran.
Step 1
Login to the required Power Apps environment using URL make.powerapps.com by providing the user name and password and click on Flows on the left-hand side as shown in the below figure.
Step 2
After step 1, Click on New Flow and select instant cloud flow and provide the trigger as Manually trigger a flow and click on Create as shown in the below figure.
Step 3
After step 2, name the flow as workflow function to get flow information we must click on + New Step and Choose compose operation and provide the following step name as Compose - Get flow information.
Inputs : workflow()
And click on ok/Update and save. Here workflow function returns details like id,name,type ,location with tags like flowDisplayName,enivornmentName and environmentFlowSuspensionReason and with run details id,name,type as shown in the below figure.
Step 4
After step 3, click on + New Step and Choose Parse JSON Data Operation from actions and provide the following step name as Parse JSON Content as Outputs from Step 3.
Schema - provide the below JSON object
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"location": {
"type": "string"
},
"tags": {
"type": "object",
"properties": {
"flowDisplayName": {
"type": "string"
},
"environmentName": {
"type": "string"
},
"logicAppName": {
"type": "string"
},
"environmentFlowSuspensionReason": {
"type": "string"
}
}
},
"run": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
}
}
And click on save as shown in the below figure.
Step 5
After step 4, to send an email notification click on the next step and select Send an email notification action and provide the details.
To : <name>@gmail.com
Subject
@{body('Parse_JSON')?['tags']?['flowDisplayName']} has an error
Body
The flow @{body('Parse_JSON')?['tags']?['flowDisplayName']} has an error in the environment @{body('Parse_JSON')?['tags']?['environmentName']}
as shown in the below figure.
Step 6
After step 5, Test and run the flow and see the desired result the path after the host returned as shown in the below figure.
Note
- Make sure to save and run the flow whenever you try expressions.
- MS documentation is found here
- As an example, I have used this Send an email notification(V3) which needs to be configured properly to get notifications, other email options also can be sent.
- As the article focus on workflow function, not explained in detail about the run after the trigger, and Parse JSON, will explain future blogs.
- As an example to show this flow details I have directly added an email notification which will fire every time, but ideally, this needs to be triggered only when Parse JSON Step 4 when failed, is skipped, has timed out as shown in the below figure.
Conclusion
In this way, we can extract the path that is present after the hostname in Power Automate flow.