cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
CP153319
Advocate V
Advocate V

Approvals - Multiple Approvers - How to capture all their responses and comments?

I'd like to set up an approval which requires multiple approvers (where the approval must be approve by everyone). Couple questions:

  1. How do I capture their responses, response dates and comments in a SharePoint list if there are two or more approvers? I can't see any option for how to do that.
  2. If there are two approvers what happens if one person approves and the other rejects? I don't have a lot of time for R&D so I'm hoping someone can just tell me so I can just skip to setting up a flow of approvals instead of adding multiple people to one. 

Thanks for reading. 

1 ACCEPTED SOLUTION

Accepted Solutions
v-xida-msft
Community Support
Community Support

Hi @CP153319,

 

Could you please share more details about your SharePoint list?

Further, could you please show a screenshot of your flow's configuration?

 

For your first question, you could consider take a try to add a Multiple lines of text type column in your SharePoint list to store all approvers' response, response date and comment. I have created a SharePoint list on my side and the data structure of it as below:11.JPG

Note: The Response column is a Multiple lines of text type column in my SharePoint list.

 

I have made a test on my side and please take a try with the following workaround:

  • Add a "When an item is created" trigger, specify Site Address and List Name.
  • Add a Variables-> "Initialize variable" action, Name set to AllResponses, Type set to String and Value set to empty.
  • Add a "Start an approval" action, Approval type set to Everyone from the assigned list, specify Assigned to .
  • Add a "Apply to each" action, input parameter set to Responses dynamic content of the "Start an approval" action. Within "Apply to each" action, add a "Compose" action, Inputs field set to following formula:

 

concat('ApproverName: ',item()?['responder']?['displayName'],' ResponseDate: ',item()?['responseDate'],' Comment: ',item()?['comments'],'</br>',variables('AllResponses'))

 

Add a "Set variable" action, Name set to AllResponses, Value set to output of the "Compose" action.

 

  • Under "Apply to each" action, add a "Update item" action, specify Site Address and List Name, The Responses field set to AllResponses variable.

Image reference:12.JPG

 

13.JPG

The flow works successfully as below:14.JPG

 

15.JPG

 

 

For your second question, any one of the two approvers reject the approval request, the whole approval request would be as rejected. In addition, if first approver reject the approval request, the whole approval request would be as rejected and the second approver could not make any response to this approval request.

 

 

Best regards,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

42 REPLIES 42
ScottShearer
Super User
Super User

You can capture responses from the approvers in two ways:

1) Reference the response summary data via dynamic properties.  This method does not include the approver comments

2) Loop through all the responses (Apply to each) and reference the Approver Name, Response and Comments columns

 

If one approver rejects, then the request is rejected and the approval ends at that time.

 

Please post if you have more questions or if this solves your issue.

 

In the Flow below, I update a multiline SharePoint column with the data in the variable at the end of the Flow.

 

ApproverComment1.jpgApproval2.png

 

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott
v-xida-msft
Community Support
Community Support

Hi @CP153319,

 

Could you please share more details about your SharePoint list?

Further, could you please show a screenshot of your flow's configuration?

 

For your first question, you could consider take a try to add a Multiple lines of text type column in your SharePoint list to store all approvers' response, response date and comment. I have created a SharePoint list on my side and the data structure of it as below:11.JPG

Note: The Response column is a Multiple lines of text type column in my SharePoint list.

 

I have made a test on my side and please take a try with the following workaround:

  • Add a "When an item is created" trigger, specify Site Address and List Name.
  • Add a Variables-> "Initialize variable" action, Name set to AllResponses, Type set to String and Value set to empty.
  • Add a "Start an approval" action, Approval type set to Everyone from the assigned list, specify Assigned to .
  • Add a "Apply to each" action, input parameter set to Responses dynamic content of the "Start an approval" action. Within "Apply to each" action, add a "Compose" action, Inputs field set to following formula:

 

concat('ApproverName: ',item()?['responder']?['displayName'],' ResponseDate: ',item()?['responseDate'],' Comment: ',item()?['comments'],'</br>',variables('AllResponses'))

 

Add a "Set variable" action, Name set to AllResponses, Value set to output of the "Compose" action.

 

  • Under "Apply to each" action, add a "Update item" action, specify Site Address and List Name, The Responses field set to AllResponses variable.

Image reference:12.JPG

 

13.JPG

The flow works successfully as below:14.JPG

 

15.JPG

 

 

For your second question, any one of the two approvers reject the approval request, the whole approval request would be as rejected. In addition, if first approver reject the approval request, the whole approval request would be as rejected and the second approver could not make any response to this approval request.

 

 

Best regards,

Kris

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thank you for taking the time to do that! 

 

I've chosen to take another route, not for design reasons but because I need the flow to keep pushing forward (can't have one person reject and it stops). 

 

I've marked your response as a solution because that would work and I've seen other people asking about that type of solution. 

 

Thanks

Hi,

 

I have about 8 approvers. I observed that the "Responses"Column in the SharePoint List doesnt hold any data until all 8 of them have approved.

 

Is there a way to make the responses update as the users are approving the item? Thats what I really need. I need to know who has approved/rejected and who hasn't any


@v-xida-msft wrote:

Hi @CP153319,

 

Could you please share more details about your SharePoint list?

Further, could you please show a screenshot of your flow's configuration?

 

For your first question, you could consider take a try to add a Multiple lines of text type column in your SharePoint list to store all approvers' response, response date and comment. I have created a SharePoint list on my side and the data structure of it as below:11.JPG

Note: The Response column is a Multiple lines of text type column in my SharePoint list.

 

I have made a test on my side and please take a try with the following workaround:

  • Add a "When an item is created" trigger, specify Site Address and List Name.
  • Add a Variables-> "Initialize variable" action, Name set to AllResponses, Type set to String and Value set to empty.
  • Add a "Start an approval" action, Approval type set to Everyone from the assigned list, specify Assigned to .
  • Add a "Apply to each" action, input parameter set to Responses dynamic content of the "Start an approval" action. Within "Apply to each" action, add a "Compose" action, Inputs field set to following formula:

 

concat('ApproverName: ',item()?['responder']?['displayName'],' ResponseDate: ',item()?['responseDate'],' Comment: ',item()?['comments'],'</br>',variables('AllResponses'))

 

Add a "Set variable" action, Name set to AllResponses, Value set to output of the "Compose" action.

 

  • Under "Apply to each" action, add a "Update item" action, specify Site Address and List Name, The Responses field set to AllResponses variable.

Image reference:12.JPG

 

13.JPG

The flow works successfully as below:14.JPG

 

15.JPG

 

 

For your second question, any one of the two approvers reject the approval request, the whole approval request would be as rejected. In addition, if first approver reject the approval request, the whole approval request would be as rejected and the second approver could not make any response to this approval request.

 

 

Best regards,

Kris



per time. 

 

Your suggestion will be most appreciated. Or am i missing out something u have explained above?

 

Regards

I got everything to work, which was great, however I can't seem to get the responses on seperate lines.  Is there a way to do this.  My form is created from a custom list in PowerApps, it looks like that is the only difference.  It's like the concat string doesn't understand </br>. Any help would be appreciated.

 

Anonymous
Not applicable

Thanks for posting this solution. I'm trying to do something like this and realised this too. My issue is that I'm calling in my approvers from a mult-person field and it puts the whole approval into a 'for each' loop. Is it still possible to capture the complete responses and act on them similar to this example?

How would you adjust the formula if I want to have all the response names, date, and outcome in separate fields? Not concatenated in the one field. 

Also for some reason I am getting all responses concatenated on one line entry in my SP list but then another line for one other approver - can't figure out how or why that is happening? 

Anonymous
Not applicable

I have tried this method, but every time I get to the "Update Item" portion it asks for a list name. However, I need this to say Folder Name. How can I work around this?

Anonymous
Not applicable

The 'Update Item' action is for SharePoint lists and as such wont have a 'Folder' option. Are you trying to update a document or something?

Anonymous
Not applicable

Yes, I am trying to create a flow for multidepartmental approval workflows. In our process at least 3 to 4 managers have to sign off on the document for Standard Operating Procedures, Policies, etc.

Anonymous
Not applicable

Hi,

 Try using the SharePoint 'Update File Properties' action in that case and you'll be able to update the item you're running the approval on. If I've mis-understood this then you might want to share an image of your flow so we can better understand what you're trying to do.

Thanks,

Jason.

Anonymous
Not applicable

Below is where I keep getting stuck. I want to choose who to email at the time of the approval request. I don't want the request to be automated because I need to review the formatting prior to the approval start. I will manually trigger the approval. I need to select the managers who will do the approval at the time of the request, because each document has different requirements, especially SOPs, Policies, etc.

 

I am not certain if I need the "Initialize Variable" component.I am not certain if I need the "Initialize Variable" component.

 

start and wait for an approval.JPG

start and wait for an approval4.JPG    start and wait for an approval5.JPG

Here is the flow overview.

start and wait for an approval2.JPG

You could create a column in your document Library called "Approval Type" and make it a "Choice" column where you can pick which type of approval the document requires. Then, in your flow, initialize a variable for this choice column and then run a switch on it where you have a separate approval for each choice. You can then send the approvals to the right people.

Anonymous
Not applicable

But this feature is already built into sharepoint as a feature of document validation. It would not appropriately track document validation if I created a separate column.

You said:

 

 I need to select the managers who will do the approval at the time of the request, because each document has different requirements, especially SOPs, Policies, etc.

 

If you add a column with the names of these different types of approvals you can do what I suggested. Then you don't have to manually do anything. You'd have a choice column with the choices "Policy 1, Policy 2, SOP 1, SOP 2 etc, etc" and then run a switch off of that where you can do a separate approval for each with the names of the approvers in them. 

 

Anonymous
Not applicable

Thank you. I think I am beginning to understand what you are talking about. However, I don't think I have the knowledge level to implement what you are suggesting without further help.

Each document type is stored in its own document library so I would not have to initiate based off the document type. However, I believe I could implement the same strategy using the managers names in the columns. I could plug in those persons who will always be required to sign off and then code so the column is referenced for the variable signers. If you have time to give me an example of how this would be implemented, I would be grateful. If not I understand.

Anonymous
Not applicable

Thanks for sharing the Flow image - a little better/easier to understand now. Not sure on the 'For each' on the left as I'm not sure how the compose information is then going into the update file properties - if its doing what you need it to do then fair enough.

 

For the condition on the right - using the variable 'AllResponses' is incorrect. There is a dynamic content option called 'Outcome' that captures whether or not all of the responses are Approve or Rejected. A good practice/test of what is being captured following the approval is to output every dynamic content option to a multi-line field somewhere until you're comfortable on what is being passed through.

 

Going back to the original question on a folder name being available in the options to update the file, I think this is no longer relevant and you're using the Update File Properties action correctly.

 

As another has suggested, a choice field to capture the type of document being reviewed for it to then route to the appropriate manager would be a better approach - the last thing you want to do is manually decide on anything and interact with it to route to the right place. What if you're on holiday for example - how does anything get approved then? The world still spins in your absence... Smiley Happy

Anonymous
Not applicable

P.S. I have a similar system for SOPs and approvers - I created a custom list that I look up for a name depending on a department and then choose an approver name in that list for the approval in the current library. That list of approvers can then change as required when people come and go without having to edit the flow each time.

Helpful resources

Announcements

Power Platform Connections - Episode 7 | March 30, 2023

Episode Seven of Power Platform Connections sees David Warner and Hugo Bernier talk to Microsoft MVP Dian Taylor, alongside the latest news, product reviews, and community blogs.     Use the hashtag #PowerPlatformConnects on social media for a chance to have your work featured on the show!      Show schedule in this episode:    0:00 Cold Open 00:30 Show Intro 01:02 Dian Taylor Interview 18:03 Blogs & Articles 26:55 Outro & Bloopers    Check out the blogs and articles featured in this week’s episode:    https://francomusso.com/create-a-drag-and-drop-experience-to-upload-case-attachments @crmbizcoach https://www.youtube.com/watch?v=G3522H834Ro​/  @pranavkhuranauk https://github.com/pnp/powerapps-designtoolkit/tree/main/materialdesign%20components @MMe2K​ https://2die4it.com/2023/03/27/populate-a-dynamic-microsoft-word-template-in-power-automate-flow/ @StefanS365 https://d365goddess.com/viva-sales-administrator-settings/ @D365Goddess https://marketplace.visualstudio.com/items?itemName=megel.mme2k-powerapps-helper#Visualize_Dataverse_Environments @MMe2K    Action requested:  Feel free to provide feedback on how we can make our community more inclusive and diverse.    This episode premiered live on our YouTube at 12pm PST on Thursday 30th March 2023.    Video series available at Power Platform Community YouTube channel.    Upcoming events:  Business Applications Launch – April 4th – Free and Virtual! M365 Conference - May 1-5th - Las Vegas Power Apps Developers Summit – May 19-20th - London European Power Platform conference – Jun. 20-22nd - Dublin Microsoft Power Platform Conference – Oct. 3-5th - Las Vegas    Join our Communities:  Power Apps Community Power Automate Community Power Virtual Agents Community Power Pages Community    If you’d like to hear from a specific community member in an upcoming recording and/or have specific questions for the Power Platform Connections team, please let us know. We will do our best to address all your requests or questions.       

Announcing | Super Users - 2023 Season 1

Super Users – 2023 Season 1    We are excited to kick off the Power Users Super User Program for 2023 - Season 1.  The Power Platform Super Users have done an amazing job in keeping the Power Platform communities helpful, accurate and responsive. We would like to send these amazing folks a big THANK YOU for their efforts.      Super User Season 1 | Contributions July 1, 2022 – December 31, 2022  Super User Season 2 | Contributions January 1, 2023 – June 30, 2023    Curious what a Super User is? Super Users are especially active community members who are eager to help others with their community questions. There are 2 Super User seasons in a year, and we monitor the community for new potential Super Users at the end of each season. Super Users are recognized in the community with both a rank name and icon next to their username, and a seasonal badge on their profile.  Power Apps  Power Automate  Power Virtual Agents  Power Pages  Pstork1*  Pstork1*  Pstork1*  OliverRodrigues  BCBuizer  Expiscornovus*  Expiscornovus*  ragavanrajan  AhmedSalih  grantjenkins  renatoromao    Mira_Ghaly*  Mira_Ghaly*      Sundeep_Malik*  Sundeep_Malik*      SudeepGhatakNZ*  SudeepGhatakNZ*      StretchFredrik*  StretchFredrik*      365-Assist*  365-Assist*      cha_cha  ekarim2020      timl  Hardesh15      iAm_ManCat  annajhaveri      SebS  Rhiassuring      LaurensM  abm      TheRobRush  Ankesh_49      WiZey  lbendlin      Nogueira1306  Kaif_Siddique      victorcp  RobElliott      dpoggemann  srduval      SBax  CFernandes      Roverandom  schwibach      Akser  CraigStewart      PowerRanger  MichaelAnnis      subsguts  David_MA      EricRegnier  edgonzales      zmansuri  GeorgiosG      ChrisPiasecki  ryule      AmDev  fchopo      phipps0218  tom_riha      theapurva  takolota     Akash17  momlo     BCLS776  Shuvam-rpa     rampprakash  ScottShearer     Rusk  ChristianAbata     cchannon  Koen5     a33ik  Heartholme     AaronKnox  okeks      Matren   David_MA     Alex_10        Jeff_Thorpe        poweractivate        Ramole        DianaBirkelbach        DavidZoon        AJ_Z        PriyankaGeethik        BrianS        StalinPonnusamy        HamidBee        CNT        Anonymous_Hippo        Anchov        KeithAtherton        alaabitar        Tolu_Victor        KRider        sperry1625        IPC_ahaas      zuurg    rubin_boer   cwebb365   Dorrinda   G1124   Gabibalaban   Manan-Malhotra   jcfDaniel   WarrenBelz   Waegemma   drrickryp   GuidoPreite    If an * is at the end of a user's name this means they are a Multi Super User, in more than one community. Please note this is not the final list, as we are pending a few acceptances.  Once they are received the list will be updated. 

Register now for the Business Applications Launch Event | Tuesday, April 4, 2023

Join us for an in-depth look into the latest updates across Microsoft Dynamics 365 and Microsoft Power Platform that are helping businesses overcome their biggest challenges today.   Find out about new features, capabilities, and best practices for connecting data to deliver exceptional customer experiences, collaborating, and creating using AI-powered capabilities, driving productivity with automation—and building towards future growth with today’s leading technology.   Microsoft leaders and experts will guide you through the full 2023 release wave 1 and how these advancements will help you: Expand visibility, reduce time, and enhance creativity in your departments and teams with unified, AI-powered capabilities.Empower your employees to focus on revenue-generating tasks while automating repetitive tasks.Connect people, data, and processes across your organization with modern collaboration tools.Innovate without limits using the latest in low-code development, including new GPT-powered capabilities.    Click Here to Register Today!    

Check out the new Power Platform Communities Front Door Experience!

We are excited to share the ‘Power Platform Communities Front Door’ experience with you!   Front Door brings together content from all the Power Platform communities into a single place for our community members, customers and low-code, no-code enthusiasts to learn, share and engage with peers, advocates, community program managers and our product team members. There are a host of features and new capabilities now available on Power Platform Communities Front Door to make content more discoverable for all power product community users which includes ForumsUser GroupsEventsCommunity highlightsCommunity by numbersLinks to all communities Users can see top discussions from across all the Power Platform communities and easily navigate to the latest or trending posts for further interaction. Additionally, they can filter to individual products as well.   Users can filter and browse the user group events from all power platform products with feature parity to existing community user group experience and added filtering capabilities.     Users can now explore user groups on the Power Platform Front Door landing page with capability to view all products in Power Platform.      Explore Power Platform Communities Front Door today. Visit Power Platform Community Front door to easily navigate to the different product communities, view a roll up of user groups, events and forums.

Microsoft Power Platform Conference | Registration Open | Oct. 3-5 2023

We are so excited to see you for the Microsoft Power Platform Conference in Las Vegas October 3-5 2023! But first, let's take a look back at some fun moments and the best community in tech from MPPC 2022 in Orlando, Florida.   Featuring guest speakers such as Charles Lamanna, Heather Cook, Julie Strauss, Nirav Shah, Ryan Cunningham, Sangya Singh, Stephen Siciliano, Hugo Bernier and many more.   Register today: https://www.powerplatformconf.com/   

Users online (1,839)