Use markdown to format approval emails – Power Automate and Dynamics 365

Let us update our previous flow, to use markdown to format the approval email.

Markdown is the lightweight mark-up language for adding formatting elements to the plain text.

Refer the Markdown cheat sheet

We’d update the Details property of Start and wait for an approval action.

Below we have added some sample text that uses markdown syntax.

Below is how it renders in the outlook web access OWA.

And inside the Power Automate Approval Center.

Below we have used markdown syntax for defining the table.

Inside OWA.

Inside the Power Automate approval center.

And within the Power Automate mobile app

Kindly refer to the below table that lists down inconsistencies among different clients.

Also check out –

Power Automate Approvals – Markdown or HTML?

Using Markdown in Microsoft Flow approval actions

Hope it helps..

Custom Responses in Approvals – Power Automate and Dynamics 365

Let us update our previous flow to use Approval Type – Custom Responses, using which we can define our custom response options (instead of limiting ourselves to Approve and Reject)

Here we have updated the Start and wait for an approval action’s Approval Type from

Approve / Reject – First to respond


Custom Responses – Wait for one response.

We have defined below custom responses – Accept, Reject, and Need more details.

We have updated the Condition to check for Need more details

Let us save, check, and run the flow.

The approvers are presented with the custom responses

Here among the users to who the request is assigned, the flow will complete if any of the approvers responds, it will not wait for all the approvers to respond.

Now let us update it to use Custom Responses – Wait for all

Here the flow will wait for responses from all the approvers before moving to the next action.

Lastly, if we define more than 5 responses,

Outlook and OWA have a limitation of only showing the first five responses in the actionable message as shown below.

Within the Power Automate approval center and Power Automate mobile application we do not have this limitation.

Power Automate approval centre:

Power Automate mobile application:

Hope it helps..

Parallel Approvals – Power Automate and Dynamics 365

Let us update our previous flow to include parallel approvals.

The difference between Approve / Reject Type – Everyone must approve and parallel approvals would be that using parallel approvals we could wait for responses for all the approvers, be it approve or reject.

In case of Everyone must approve, if any of the approvers rejects, the request is considered rejected and it will not wait for other approver’s response, and for the request to be considered approved all the approver needs to approve it.

Let us add a new action Add a parallel branch after Apply to each.

Let us keep only test user 1 in the first branch and in the other branch add a Start and wait for an approval action.

We have updated both to be approval type First to respond, set Assigned to the property to test user 1 and test user 2 for the respective branches.

And also we want to evaluate the responses from both the approvers before taking further action, so we have deleted the condition action from the first branch.

Let us add a new Condition action, with 2 AND conditions, i.e. if the first user approves and the second user rejects which corresponds to the respective Start and wait for an approval action.

Here if the condition is fulfilled we update the description of the case record.

Let us save, check, and trigger the flow.

After test user 1 has approved, we can still see the flow waiting for user 2 to respond.

The flow completes successfully after the response is received from both the approvers. Here user 2 rejects the request.

As expected, we can see the description field updated as defined in the update the record action.

Hope it helps..

Attachments in Approval – Power Automate and Dynamics 365

Let us update our previous sequential flow, to include file attachments to notes of the case record, as part of the approval.

First, we need to add Initialize variable action and define an Array variable to store all the attachments details.

Next, we will use List records action, to fetch all the notes records associated with that particular case record.

Next, we will use Apply to each action to loop through all the attachments and use it to populate our attachments array variable defined in the previous step.

Now as the last step, we’d specify the attachment array variable for the attachment field inside the Start and wait for an approval action.

Now we are ready to save and test our flow.

Here our flow is waiting for approval from the user.

The approver receives the notification and can now review the attachments before responding.

Hope it helps..

Approval/Reject Type – Everyone must approve – Power Automate and Dynamics 365

Let us update our previous flow from approval/reject typeFirst to respond to Everyone must approve type.

For First to respond, either Approval or rejection by any of the approver completes the request.

In case of Everyone must approve, if any of the approvers rejects the request is considered rejected, for the request to be considered approved all the approver needs to approve it.

We have updated the approval type from first to respond to

everyone must approve.

In the case of Approve / Reject – Everyone must approve

  • All the assigned users must approve, for the request to be approved.
  • Any of the assigned users if rejects, the request will be considered rejected.

Let us run the flow and test it.

We can see our flow waiting for approvals

We can see all the 3 approvers getting the approval request

Let us Reject it for one of the approvers.

It completes the flow without waiting for responses from other approvers.

The other approvers will see the below message.

Similarly, as expected, it will wait for all the approvers to approve before moving to the next action.

We need to make sure we specify the same value as shown in the Outputs above in the condition action.

Hope it helps..

Manager approval – Power Automate and Dynamics 365

Continuing our previous basic  approval flow, here we’d update it to send an approval request to the manager of the user.

First, we’d use the Get manager V2 action to get the user’s manager.

Let us first update the profiles of the users to add their manager.

Sign in to the Azure portal as an administrator and select Users inside Azure Active Directory.

Here we have specified test user 2 as manager of user 1.

Let us now update our flow, add a Get a record action to get the email of the owner of the case record which will be used later to get the user’s manager.

Here in Item Id, we are passing Owner, it could well be created by or modified by as well.

In the select query, we are specifying the internal email address i.e. primary email address of the user.

Now for the If Yes step, we have used the Get manager action, and have specified the primary email address fetched earlier.

The Mail returned by the Get manager action is used for Assigned to field inside Start and wait for an approval action.

Based on the outcome of approval we are then updating the case record.

This is how the flow looks like

On running the flow, we can see the user’s manager email address in the output for the Get manager V2 action.

We can see the manager of the user 1 getting the approval request.

Now instead of the manager specified in User’s profile in Office 365 (Azure AD), let us update the flow to send an approval request to the User’s manager (system user) inside Dynamics 365.

Let us update the flow,

in the Get a record action instead of fetching the primary email address (internal email address) of the owner, we’d use Expand Query to fetch the primary email address of the Manager specified in the Owner (system user) record.

Create the query with link entity in our favorite FetchXML Builder and click on Power Automate Parameters

Copy the Expand query.

Paste it in the Expand Query of the Get a record action.

Remove Get manager (V2) 2 action from If Yes step, as we already have the email address of the manager now and specify the same in the Start and wait for an approval action’s Assigned to field.

Save and Test the flow.

Here we can see the test user 2 who is the manager of user 1 receiving the approval request.

We can the manager’s email in the output for Start and wait for an
approval action.

Thus, we see a couple of ways to implement Manger’s approval, we’d look at a few more scenarios in the next posts.

Do check out the wonderful training on Approvals in Power Automate

Hope it helps..

Approvals in Power Automate and Dynamics 365

Let us try implementing a basic scenario, where an agent can send a case for approval and the record is updated based on the approver’s response.

The agent here sets the Submit for Approval – custom field as Yes and saves the record for submitting it for approval.

The description field will be updated to reflect approval or rejection.

Login to Power Automate

Start with Automated Flow (blank template)

Choose trigger as When a record is updated. (Common Data Service)

Select the appropriate environment, cases as entity name, and scope, for attribute filter, we have selected the custom field ‘submit for approval’

Add a new step and search for Approvals action.

Select approval type as Start and wait for an approval and specify the appropriate values.

To Item link with the URL of the case record

Save the flow and add a Condition step with the condition ‘Outcome’ equal to ‘Approve’.

For If Yes step, select Update a record (Common data service) action, specify values for Entity name, Item ID, and Description field.

Repeat the same for the If no step.

Update – add the condition to check the value of submit for approval field


As we will request for approval only if value is true.

Let us select the Flow checker to check the flow first before we can test it.

As there are no errors or warnings, click on the Test button and select the I’ll perform the trigger action option.

To trigger it, open a case record, set Submit for approval field as Yes, and save it.

We’d see our flow running and waiting for the approval.

The approver can either approve it through email.

Or within the mobile app.

As well as the approval center.

Let us approve the request.

We’d see our flow completed successfully.

And the case record updated.

This was the very basic example to begin with, in the next few posts we’d try covering other scenarios.

Hope it helps..