Create parallel approval workflows with Microsoft Flow
In a parallel approval workflow, multiple persons are required to approve items including invoices, purchase orders, vacation requests, etc. Each person's approval is independent of all other approvers.
In this walkthrough, we use Microsoft Flow to create a flow that automates a parallel approval workflow. This flow automates an employee vacation request process that requires approval from all persons (or teams) that the employee supports regularly. Employees use a SharePoint list to request vacation. Vacation approvals are required from the employee's direct manager, the Sales team, and the Human Resources team. Each vacation request is routed to each approver for a decision. The flow sends email with status changes and then updates SharePoint with the decisions.
- Microsoft Flow.
- A SharePoint Online list.
- Office 365 Outlook and Office 365 Users account.
While we use SharePoint Online and Office 365 Outlook in this walk-through, you can use other services such as Zendesk, Salesforce, or Gmail.
Before you create the flow, create a SharePoint Online list; later, we'll use this list to request approval for vacations.
The SharePoint Online list you create must include the following columns:
Make note of the name and URL of the SharePoint Online list. We use these items later to configure the SharePoint - When a new item is created trigger.
Create your flow from the blank template
Sign into Microsoft Flow.
Select the My flows tab.
Select Create from blank.
Add a trigger
Enter SharePoint into the search box.
Find, and then select the SharePoint - When a new item is created trigger.
- Select the Site Address and the List Name for the SharePoint list that your flow monitors for new items.
Get the manager for the person who created the vacation request
Select New step, and then select Add an action.
- Enter get manager into the Choose an action search box.
Find, and then select the Office 365 Users - Get manager action.
Insert the Created By Email token into the User box on the Get manager card.
This action gets the manager for the person who created the vacation request in SharePoint.
Name and save your flow
Provide a name for your flow, and then select Create flow to save the work we've done so far.
Select Update flow from the top of the screen periodically to save the changes to your flow.
To continue making changes after you save or update your flow, select Edit flow from the top of the screen, and then continue making changes.
Add an approval action for immediate manager
Select Edit flow.
Select New step, and then select Add an action.
Enter approval into the Choose an action search box.
Select the Approvals - Start an approval action.
Configure the Start an approval card to suit your needs.
Note: Title and Assigned To are required.
This action sends the vacation request to the email address in the Assigned To box, so insert the Email token from the Get manager list.
Insert a parallel branch approval action for the sales team
- Select the down arrow that's located between the Get manager card and the Start an approval card.
- Select the plus sign that shows up on the down arrow after you select it.
- Select Add a parallel branch.
Select Add an action.
- Search for, select, and then configure a Start an approval action that sends the vacation request to the sales team. See the steps used to Add an approval action for immediate manager if you're not sure how to add the Start an approval action.
Use the sales team's email address in the Assigned To box of the Start an approval action.
Insert a parallel branch approval action for the human resources team
- Repeat the steps to insert a parallel branch for the sales team to add, and then configure a Start an approval action to send vacation requests to human resources.
Use the human resources team's email address in the Assigned To box of the Start an approval action.
If you've followed along, your flow should resemble this example:
Options after adding parallel branches
After you've added actions to parallel branches, you have two options for adding more steps to your flow:
- Use the small Insert a new step button (the circular plus button that appears when you select any white space on a branch or the area immediately below a branch). This button adds a step to that specific branch. Steps you add with this button run after this specific branch completes.
- Use the larger New step button at the bottom of the entire workflow. This button adds an action that runs after all branches complete. Steps you add with this button run after all branches complete.
In the following sections, we use the small Insert a new step button to perform the following steps on each branch:
- Add a condition that checks if the vacation request was approved or rejected.
- Send an email that informs the employee of the decision.
- Update the vacation request in SharePoint with the approval decision.
Then, we use the larger New step button to send an email that summarizes all decisions made on the vacation request.
Add a condition to each branch
- Select any white space on the Start an approval branch.
- Select the small Insert a new step button (the circular plus button that appears after you select the white space in the previous step).
- Select Add a condition from the menu that appears.
Select the first box on the Condition card, and then select the Response token from the Start an approval category in the dynamic content list.
- Confirm the list (in the middle of the Condition card) is set to is equal to.
- Enter Approve (this text is case-sensitive) into the last box.
Your condition card should now resemble this example:
This condition checks the response from the Start an approval action that goes to the employee's manager.
- Repeat the preceding steps on the Start an approval 2 (the approval request to sales) and Start an approval 3 (the approval request to human resources) branches.
Add email actions to each branch
Perform the following steps on the IF YES, DO NOTHING side of the Condition branch.
Note: Your flow uses these steps to send an email when the request is approved:
Select Add an action on the IF YES, DO NOTHING branch of the condition.
Enter send email into the search box on the Choose an action card.
Select the Office 365 Outlook - Send an email action.
Configure the email card to suit your needs.
Note: To, Subject, and Body are required.
This card is a template for the email that is sent when the status of the vacation request changes.
Note: In the Body box on the Send an email card, use the Comments token from the Approvals - Start an approval action.
To send an email when a request is rejected, use the IF NO, DO NOTHING side of the Condition branch, and then repeat the preceding steps to add a template for the rejection email.
Repeat the preceding steps on the Start an approval 2 (the approval request to sales) and Start an approval 3 (the approval request to human resources) branches.
Update the vacation request with the decision
Perform the following steps to update SharePoint when decisions are made.
Note: Be sure perform these steps on both the IF YES and the IF NO sides of the branch.
- Select Add an action from the IF YES branch.
Enter update into the search box on the Choose an action card.
Select the SharePoint - Update item action.
- Configure the Update item card to suit your needs.
Repeat the preceding steps on the Start an approval 2 and Start an approval 3 branches.
Complete the flow
Select New step > Add an action
Use the steps provided previously to send an email that summarizes the results of each approval. Send this email to the employee who requested vacation. Your card may resemble this example: