{"id":1626,"date":"2021-01-24T21:07:56","date_gmt":"2021-01-24T21:07:56","guid":{"rendered":"http:\/\/www.myfatblog.co.uk\/?p=1626"},"modified":"2021-01-24T21:09:05","modified_gmt":"2021-01-24T21:09:05","slug":"dynamic-second-stage-approvals-using-approvals-in-power-automate","status":"publish","type":"post","link":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/","title":{"rendered":"Dynamic second stage approvals using Approvals in Power Automate"},"content":{"rendered":"<p>A member of my team recently came across an interesting customer requirement that didn\u2019t seem to have an easy solution using the out of the box Approvals process in Power Automate. The process on the surface seemed fairly simple, but the execution certainly proved less so!<\/p>\n<p>Picture the following approval process:<\/p>\n<ol>\n<li>User submits a Document request in a SharePoint library and selects the first approver.<\/li>\n<li>An approval task is created and passed to the First approver.<\/li>\n<li>The First approver decides to either Reject or Approve the document and then chooses the second stage approver.<\/li>\n<li>A new approval task is created for the second stage approver.<\/li>\n<li>The Second stage Approves or rejects the document<\/li>\n<li>Document status is updated in SharePoint.<\/li>\n<\/ol>\n<p>On the face of it, it\u2019s a fairly straight forward requirement, however in an Approve action we can only capture the Outcome and Comments from the first approver, so there\u2019s no easy way to capture a selection of the next approver (Or any other information for that matter).<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"SNAGHTML14491a9\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png\" alt=\"SNAGHTML14491a9\" width=\"656\" height=\"361\" border=\"0\" \/><\/a><\/p>\n<p>The easiest resolution for this is actually to look at using Outlook Actionable messages with Adaptive cards, which would allow us to capture additional information. The only downside to this is that we would need to handle the Adaptive Card response via an HTTPS Flow trigger, which is a Premium connector! In this environment, the client doesn\u2019t have access to Premium Connectors which rules out that option.<\/p>\n<h1>Dynamic second stage approvals without premium connectors?<\/h1>\n<p>The work around that I suggested, does require that the list of approvers for the second stage be available at the point that the workflow is triggered. For this solution we decided that using a SharePoint configuration list provided the functionality that we needed and would meet the business requirements that we captured. The approval process becomes:<\/p>\n<ol>\n<li>User submits a completed Document request in a SharePoint library and selects the Approval Group from a drop down.<\/li>\n<li>When the flow triggers, a lookup is made against the approval group to get the First and Second stage approvers.<\/li>\n<li>A <strong><em>Custom Response<\/em><\/strong> Approval Action is launched to the First Approver, with the\u00a0 possible Outcomes built to include the Second Stage approvers. This results in the following possible Outcomes.\n<ul>\n<li>Reject<\/li>\n<li>Approve \u2013 Send to Second Approver A<\/li>\n<li>Approve \u2013 Send to Second Approver B<\/li>\n<li>etc<\/li>\n<\/ul>\n<\/li>\n<li>Wait for the first approval outcome.<\/li>\n<li>Create a second stage approval using the e-mail selected in the First Approval outcome<\/li>\n<li>Wait for the Second Stage approval<\/li>\n<li>Document status updated in SharePoint.<\/li>\n<\/ol>\n<p>To show this approach in a working manner for this post, I\u2019ve built the following:<\/p>\n<ul>\n<li>A SharePoint Document library with content approval and a single Lookup column to a configuration list containing the First and Second stage approvers.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML1441a08.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"SNAGHTML1441a08\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML1441a08_thumb.png\" alt=\"SNAGHTML1441a08\" width=\"828\" height=\"114\" border=\"0\" \/><\/a><\/p>\n<ul>\n<li>A SharePoint list with the relevant First and Second Stage approvers with a useful Title field.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML145088e.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"SNAGHTML145088e\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML145088e_thumb.png\" alt=\"SNAGHTML145088e\" width=\"484\" height=\"224\" border=\"0\" \/><\/a><\/p>\n<p>We could just as easily have used the users Line Manager and then make a business decision in the flow based on the Line Managers department from their profile (with of course a catch all option for when AD doesn\u2019t have the information!), but I wanted to keep this simpler for now to show the mechanism in action.<\/p>\n<h2>Building the flow<\/h2>\n<p>We start with a simple Selected File trigger, This allows the user to select a file and then use the context menu to submit the file for approval.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9dad371.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9dad371\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9dad371_thumb.png\" alt=\"SNAGHTML9dad371\" width=\"525\" height=\"398\" border=\"0\" \/><\/a><\/p>\n<p>Immediately after, we pick up the selected item using a Get Item action. This gives us access to the file path and other useful info later. The next step then uses a Get Items action to select the correct Approver group from the configuration file list.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9da694e.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9da694e\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9da694e_thumb.png\" alt=\"SNAGHTML9da694e\" width=\"530\" height=\"356\" border=\"0\" \/><\/a><\/p>\n<p>The filter query uses the Title from the lookup field in the source Item to filter the configuration list result. Watch the \u2018\u2019 around the dynamic data! (In our sample data above, the Title should equal \u201cFinance Tier 1\u201d or the other group name value. Once we have that item, we just need to parse it using a Parse JSON action to make it useful.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9dc6ba5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9dc6ba5\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9dc6ba5_thumb.png\" alt=\"SNAGHTML9dc6ba5\" width=\"521\" height=\"295\" border=\"0\" \/><\/a><\/p>\n<p>I usually build the schema for these from a first run of the Get Items action, using the Generate from Sample option. It does sometimes however provide a very rigid schema that may not meet your needs as this one didn\u2019t. I had to remove a number of data types and required fields from the schema to make it work every time.<\/p>\n<blockquote><p>If you find yourself playing with JSON much, I heartily recommend reading John Liu\u2019s post \u201c<a href=\"http:\/\/johnliu.net\/blog\/2018\/6\/a-thesis-on-the-parse-json-action-in-microsoft-flow\" target=\"_blank\" rel=\"noopener noreferrer\">A thesis on the Parse JSON action in Microsoft Flow<\/a>\u201d where he dives deeply into the issue with this action and it\u2019s schema.<\/p><\/blockquote>\n<p>Next up is a couple of Initialize Variable actions, the first to immediately set the First Approver e-mail using the Expression<\/p>\n<p><strong><em>body(&#8216;Parse_Approvers&#8217;)[&#8216;value&#8217;][0][&#8216;FirstApprover&#8217;][&#8216;Email&#8217;]<\/em><\/strong><\/p>\n<p>This takes the output of our Parse JSON method, extracts the first item in the Value collection returned (we know we\u2019re only pulling back one item!) and then gets the value of the First Approver email field and sets it as the string value of the variable. The second action just creates an empty container ready for us to use later in the flow.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9e39ab2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9e39ab2\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9e39ab2_thumb.png\" alt=\"SNAGHTML9e39ab2\" width=\"516\" height=\"342\" border=\"0\" \/><\/a><\/p>\n<p>And then we need an Array to hold our Custom Responses to be passed into the Approvals process. At this point, we add in any \u2018static\u2019 options that we want included, in this case the Reject option.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9f4d826.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9f4d826\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9f4d826_thumb.png\" alt=\"SNAGHTML9f4d826\" width=\"518\" height=\"203\" border=\"0\" \/><\/a><\/p>\n<p>The next step is where the dynamic approvers comes in. We\u2019re going to process the Second Approvers field from the configuration item. This is a multi-select People field in SharePoint, allowing us to select a number of user accounts. The only caveat really is that their e-mail must be populated. So far for this demo I\u2019ve tried with up to 3 people selected but I see no reason why this wouldn\u2019t work for more, depending on how the App and E-mail handles the larger number of options (You\u2019ll see this in a short while.)<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9f868ee.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9f868ee\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9f868ee_thumb.png\" alt=\"SNAGHTML9f868ee\" width=\"522\" height=\"339\" border=\"0\" \/><\/a><\/p>\n<p>First we add an Apply to Each action and set the target of this to the following expression:<\/p>\n<p><strong><em>body(&#8216;Parse_Approvers&#8217;)?[&#8216;Value&#8217;][0][&#8216;SecondApprovers&#8217;]<\/em><\/strong><\/p>\n<p>This addresses the first Item in the query to the config list (again, we know we\u2019re only returning the one item, so this is safe.), we then get the Second Approvers collection. Then in an Append to Array action inside the apply to each, we use the following expression to pull out the e-mail of the Second Approver.<\/p>\n<p><strong><em>items(&#8216;Process_Second_Approvers&#8217;)?[&#8216;Email&#8217;]<\/em><\/strong><\/p>\n<p>This is then concatenated with the text \u201cApproved \u2013 Send to \u201c to form the response object that we need.At this point, we know have everything that we need to trigger our first Approval process and wait for the outcome.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9fd1cf8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTML9fd1cf8\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML9fd1cf8_thumb.png\" alt=\"SNAGHTML9fd1cf8\" width=\"521\" height=\"454\" border=\"0\" \/><\/a><\/p>\n<p>You\u2019ll notice that I\u2019ve switched the Response Options from individual items to a single block, this allows me to pass in the AuthEmails array that we created earlier. The rest of the information is straight forward, we pass the e-mail of the first approver, then a link to the item and it\u2019s title. You can of course use the Details box to pass in more detailed content using Markdown.<\/p>\n<p>At this point, an approvals process is kicked off and the First Approver will receive a notification by e-mail and directly in Teams if you have the Approvals app installed (Which is well worth doing!). The dynamic responses we put into our response block show up as choices in a drop down on the Approval app and as individual drop downs in the e-mail. Sadly the e-mail does NOT work as I\u2019d have liked for this. It would certainly be better as an individual drop down as per the app.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTMLa073bbb.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTMLa073bbb\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTMLa073bbb_thumb.png\" alt=\"SNAGHTMLa073bbb\" width=\"1006\" height=\"528\" border=\"0\" \/><\/a><\/p>\n<p>With those issue aside, the next step in the flow is to process the first approval, and this is a simple matter of checking to see if our outcome was a Rejection. If it was then we can do something with the result, such as set the content approval status in SharePoint and notify the requestor. If the approval is granted and sent to the next stage, then you may want to update a status field before moving on. I\u2019m showing that using a multi-line text field and just appending a message onto it.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTMLa09e455.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTMLa09e455\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTMLa09e455_thumb.png\" alt=\"SNAGHTMLa09e455\" width=\"997\" height=\"461\" border=\"0\" \/><\/a><\/p>\n<p>As we move down the approval route, the next step is to use a Set Variable action to update the empty Second Approver Email variable that we configured earlier. This is done using the Substring function to separate out the Second Approver e-mail from the Outcome text.<\/p>\n<p><strong><em>substring(outputs(&#8216;Wait_for_First_Stage_Approval&#8217;)?[&#8216;body\/outcome&#8217;],19)<\/em><\/strong><\/p>\n<p>In this case, 19 is the number of characters that appears in the Outcome upto and including the space in front of the e-mail address, which we know is perfectly valid, because it came from a People picker field.<\/p>\n<p><a href=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTMLa0ba89a.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"SNAGHTMLa0ba89a\" src=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTMLa0ba89a_thumb.png\" alt=\"SNAGHTMLa0ba89a\" width=\"532\" height=\"432\" border=\"0\" \/><\/a><\/p>\n<p>Then it\u2019s back to the approvals process, this time with a simple Approve\/Reject action, passing in the extracted Second Approver e-mail. Then we wait for the Approval action to complete and then take further action based on what the Second Approver chose. As we\u2019ve covered off the point of this post with the dynamic approvals, I won\u2019t dwell on the closure actions of this e-mail as you\u2019ll have differing needs based on your scenarios.<\/p>\n<h1>In Summary<\/h1>\n<p>For me one of the gaping holes in the Flow no-code story, is the ability to capture information from an end user during a process using simple actions. I\u2019d like to be able to not just ask for approval on an item, but also pass simple questions for additional info, maybe by passing a choice list in an action. Yes we can achieve this through Actionable Messages but these require premium connectors which the majority of my clients won\u2019t have access to. I\u2019d also like to see some consistency between the e-mails and the Approvals app. As you\u2019ve seen in the example above, the E-mail options when combined with custom responses don\u2019t present very well to the end user and I hope this is something that gets amended at some point (I\u2019ll be raising this as a bug with the product group tonight!).<\/p>\n<p>But overall, I was happy that we found a solution to the client\u2019s need that didn\u2019t require a premium license.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A member of my team recently came across an interesting customer requirement that didn\u2019t seem to have an easy solution using the out of the box Approvals process in Power Automate. The process on the surface seemed fairly simple, but the execution certainly proved less so! Picture the following approval process: User submits a Document &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/\">Continue reading<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[113,277,278,265],"tags":[280,281,279],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dynamic second stage approvals using Approvals in Power Automate - Blog of an overweight SharePoint addict<\/title>\n<meta name=\"description\" content=\"Out of the box, flow doesn&#039;t allow the easy capture of additional info during an approval, but this nifty trick provides a way around the issue.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamic second stage approvals using Approvals in Power Automate - Blog of an overweight SharePoint addict\" \/>\n<meta property=\"og:description\" content=\"Out of the box, flow doesn&#039;t allow the easy capture of additional info during an approval, but this nifty trick provides a way around the issue.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of an overweight SharePoint addict\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-24T21:07:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-24T21:09:05+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png\" \/>\n<meta name=\"author\" content=\"Cimares\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cimares\" \/>\n<meta name=\"twitter:site\" content=\"@cimares\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cimares\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/\",\"url\":\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/\",\"name\":\"Dynamic second stage approvals using Approvals in Power Automate - Blog of an overweight SharePoint addict\",\"isPartOf\":{\"@id\":\"http:\/\/www.myfatblog.co.uk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png\",\"datePublished\":\"2021-01-24T21:07:56+00:00\",\"dateModified\":\"2021-01-24T21:09:05+00:00\",\"author\":{\"@id\":\"http:\/\/www.myfatblog.co.uk\/#\/schema\/person\/55ae8f6885bb5b8390dad001f3da83c6\"},\"description\":\"Out of the box, flow doesn't allow the easy capture of additional info during an approval, but this nifty trick provides a way around the issue.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/#primaryimage\",\"url\":\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png\",\"contentUrl\":\"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png\",\"width\":656,\"height\":361},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.myfatblog.co.uk\/#website\",\"url\":\"http:\/\/www.myfatblog.co.uk\/\",\"name\":\"Blog of an overweight SharePoint addict\",\"description\":\"The rantings of a (not so) food obsessed IT consultant!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.myfatblog.co.uk\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.myfatblog.co.uk\/#\/schema\/person\/55ae8f6885bb5b8390dad001f3da83c6\",\"name\":\"Cimares\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/www.myfatblog.co.uk\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.myfatblog.co.uk\/images\/BlogImages\/About_D057\/TopOfTheWorld.jpg\",\"contentUrl\":\"http:\/\/www.myfatblog.co.uk\/images\/BlogImages\/About_D057\/TopOfTheWorld.jpg\",\"caption\":\"Cimares\"},\"sameAs\":[\"http:\/\/www.myfatblog.co.uk\"],\"url\":\"http:\/\/www.myfatblog.co.uk\/index.php\/author\/reginald\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dynamic second stage approvals using Approvals in Power Automate - Blog of an overweight SharePoint addict","description":"Out of the box, flow doesn't allow the easy capture of additional info during an approval, but this nifty trick provides a way around the issue.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/","og_locale":"en_US","og_type":"article","og_title":"Dynamic second stage approvals using Approvals in Power Automate - Blog of an overweight SharePoint addict","og_description":"Out of the box, flow doesn't allow the easy capture of additional info during an approval, but this nifty trick provides a way around the issue.","og_url":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/","og_site_name":"Blog of an overweight SharePoint addict","article_published_time":"2021-01-24T21:07:56+00:00","article_modified_time":"2021-01-24T21:09:05+00:00","og_image":[{"url":"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png"}],"author":"Cimares","twitter_card":"summary_large_image","twitter_creator":"@cimares","twitter_site":"@cimares","twitter_misc":{"Written by":"Cimares","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/","url":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/","name":"Dynamic second stage approvals using Approvals in Power Automate - Blog of an overweight SharePoint addict","isPartOf":{"@id":"http:\/\/www.myfatblog.co.uk\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/#primaryimage"},"image":{"@id":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/#primaryimage"},"thumbnailUrl":"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png","datePublished":"2021-01-24T21:07:56+00:00","dateModified":"2021-01-24T21:09:05+00:00","author":{"@id":"http:\/\/www.myfatblog.co.uk\/#\/schema\/person\/55ae8f6885bb5b8390dad001f3da83c6"},"description":"Out of the box, flow doesn't allow the easy capture of additional info during an approval, but this nifty trick provides a way around the issue.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.myfatblog.co.uk\/index.php\/2021\/01\/dynamic-second-stage-approvals-using-approvals-in-power-automate\/#primaryimage","url":"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png","contentUrl":"http:\/\/www.myfatblog.co.uk\/wp-content\/uploads\/2021\/01\/SNAGHTML14491a9_thumb.png","width":656,"height":361},{"@type":"WebSite","@id":"http:\/\/www.myfatblog.co.uk\/#website","url":"http:\/\/www.myfatblog.co.uk\/","name":"Blog of an overweight SharePoint addict","description":"The rantings of a (not so) food obsessed IT consultant!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.myfatblog.co.uk\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"http:\/\/www.myfatblog.co.uk\/#\/schema\/person\/55ae8f6885bb5b8390dad001f3da83c6","name":"Cimares","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.myfatblog.co.uk\/#\/schema\/person\/image\/","url":"http:\/\/www.myfatblog.co.uk\/images\/BlogImages\/About_D057\/TopOfTheWorld.jpg","contentUrl":"http:\/\/www.myfatblog.co.uk\/images\/BlogImages\/About_D057\/TopOfTheWorld.jpg","caption":"Cimares"},"sameAs":["http:\/\/www.myfatblog.co.uk"],"url":"http:\/\/www.myfatblog.co.uk\/index.php\/author\/reginald\/"}]}},"_links":{"self":[{"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1626"}],"collection":[{"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=1626"}],"version-history":[{"count":3,"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1626\/revisions"}],"predecessor-version":[{"id":1630,"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1626\/revisions\/1630"}],"wp:attachment":[{"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=1626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=1626"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.myfatblog.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=1626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}