Need help building long-running Approval Flows

%3CLINGO-SUB%20id%3D%22lingo-sub-815515%22%20slang%3D%22en-US%22%3ENeed%20help%20building%20long-running%20Approval%20Flows%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-815515%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F42129%22%20target%3D%22_blank%22%3E%40Jon%20Levesque%3C%2FA%3E%26nbsp%3B%2C%20I'm%20hoping%20you%20have%20an%20answer%20to%20this%2C%20or%20can%20get%20it%20from%20one%20of%20the%20many%20Flow%20Ninjas%20you%20have%20at%20your%20disposal.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20Approvals%20feature%20in%20Flow%20is%20great%20and%20so%20easy%20to%20use%20that%20even%20our%20tenured%20faculty%20have%20(practically)%20no%20issue%20with%20it.%20Well%2C%20that%20is%2C%20until%20the%20Flow%20times%20out%20because%20they're%20too%20busy%20out%20shopping%20for%20tweed%20jackets%20to%20act%20on%20their%20Approvals%20within%20the%2030-day%20lifespan%20of%20a%20Flow.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhen%20the%20V2%20Approval%20actions%20came%20out%2C%20with%20%22Create%20an%20approval%22%20and%20%22Wait%20for%20an%20approval%22%20came%20out%20as%20separate%20operations%2C%20I%20had%20high%20hopes%20that%20this%20was%20the%20answer.%20Run%20a%20Flow%20to%20Create%20the%20Approval%20and%20send%20it%20off%2C%20then%20that%20Flow%20ends.%20Later%2C%20when%20the%20Approver%20gets%20around%20to%20responding%2C%20another%20Flow%20that's%20Waiting%20for%20the%20Approval%20would%20kick%20in%20and%20update%20the%20item%2C%20then%20generate%20the%20next%20Approval%20in%20the%20chain.%20However%2C%20there%20is%20no%20trigger%20for%20%22When%20an%20approval%20completes%22.%20Furthermore%2C%20I%20can't%20think%20of%20a%20way%20that%20such%20a%20trigger%20would%20work%20(they'd%20have%20to%20run%20when%26nbsp%3B%3CEM%3Eany%3C%2FEM%3EApproval%20completes%2C%20not%20just%20the%20ones%20started%20by%20that%20first%20Flow).%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhat%20I'm%20thinking%20is%3A%3C%2FP%3E%3COL%3E%3CLI%3EAdd%20a%20column%20in%20the%20SharePoint%20list%20(these%20pretty%20much%20all%20work%20on%20SharePoint%20lists)%20for%20the%20%22FlowApprovalID%22%20that%20is%20populated%20by%20the%20%22Create%20an%20approval%22%20Flow%3C%2FLI%3E%3CLI%3E%3CSPAN%3EUse%20the%26nbsp%3B%3CEM%3Ewhen%20an%20item%20is%20modified%3C%2FEM%3ESharePoint%20trigger%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3Ethat%20checks%20runs%20only%20if%20the%20FlowApprovalID%20is%20populated%20and%20includes%20the%20%22Wait%20for%20an%20approval%22%20action.%20The%20potential%20issue%20with%20this%20is%20that%20the%20list%20items%20could%20be%20updated%20in%20lots%20of%20other%20ways%20not%20relevant%20to%20the%20Approval%2C%20so%20there%20could%20be%20a%20large%20number%20of%20Flow%20runs%20started%20that%20are%20all%20waiting%20for%20the%26nbsp%3B%3CEM%3Esame%3C%2FEM%3EApproval%20to%20complete.%20When%2Fif%20that%20happens%2C%20it%20could%20be%20quite%20chaotic.%26nbsp%3B%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%3CSPAN%3EI'm%20sure%20there's%20a%20way%20to%20crack%20this%2C%20but%20I%20know%20I'm%20overlooking%20some%20potential%20problems%2C%20so%20I'm%20looking%20for%20someone%20to%20tell%20me%20what%20those%20other%20problems%20are.%20Or%2C%20someone%20to%20offer%20a%20better%20way%20to%20do%20this.%20On%20that%20note%2C%20while%20I%20know%20that%20there%20is%20a%20way%20to%20do%20this%20that%20involves%20CDS%3B%20that's%20not%20an%20option%20here.%20Myself%20and%20two%20other%20IT%2Fadmins%20have%20P2%20licenses%20for%20the%20purpose%20of%20testing%2Fevaluating%20CDS%20to%20see%20what%20it%20actually%20gets%20us%2C%20but%20we%20are%20not%20permitted%20to%20use%20it%20for%20any%20production%20work.%20Also%2C%20there%20is%20way%20too%20much%20vagueness%20around%20what's%20included%20and%20what's%20not%20for%20which%20users.%20For%20example%2C%20if%20I%20have%20a%20P2%20license%20and%20create%20a%20Flow%20that%20uses%20CDS%2C%20then%20add%20others%20as%20Run%20Only%20users%20on%20that%20Flow%2C%20I%20assume%20they%20also%20need%20a%20P2%20license%20to%20run%20the%20Flow%3F%20What%20happens%20if%20they%20don't%3F%20Not%20all%20orgs%20will%20just%20pony%20up%20an%20extra%20%2420%20(or%20whatever)%20for%20every%20user%20every%20month%2C%20especially%20when%20they%20(like%20us)%20have%2040-50%2C000%20licensed%20users.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-815515%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMicrosoft%20Flow%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-823965%22%20slang%3D%22en-US%22%3ERe%3A%20Need%20help%20building%20long-running%20Approval%20Flows%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-823965%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F86417%22%20target%3D%22_blank%22%3E%40null%20null%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENot%20sure%20there%20is%20a%20work%20around%20to%20the%20expiration%20of%20approvals%2C%20however%20you%20could%20get%20creative%20and%20emulate%20an%20approvals%20process%20using%20%3CSTRONG%3ESend%20email%20with%20options%3C%2FSTRONG%3Einstead.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20612px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F128658iDBFE0B6077F104DC%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22capture20190827160127049.png%22%20title%3D%22capture20190827160127049.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhen%20you%20fill%20it%20in%20with%20choices%2C%20it%20will%20look%20like%20this%20to%20the%20receipient.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F128659i16005A1280F77948%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22capture20190827160332469.png%22%20title%3D%22capture20190827160332469.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAll%20the%20user%20needs%20to%20do%20is%20click%20an%20option%20(top%20section%20will%20process%20instantly%2C%20bottom%20section%20will%20open%20up%20a%20web%20browser%20tab%20to%20process).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESee%20if%20configuring%20this%20and%20saving%20the%20details%20to%20SharePoint%20does%20the%20job%20instead%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ECheers%20and%20best%20wishes%3C%2FP%3E%3CP%3EDamien%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Frequent Contributor

@Jon Levesque , I'm hoping you have an answer to this, or can get it from one of the many Flow Ninjas you have at your disposal.

 

The Approvals feature in Flow is great and so easy to use that even our tenured faculty have (practically) no issue with it. Well, that is, until the Flow times out because they're too busy out shopping for tweed jackets to act on their Approvals within the 30-day lifespan of a Flow.

 

When the V2 Approval actions came out, with "Create an approval" and "Wait for an approval" came out as separate operations, I had high hopes that this was the answer. Run a Flow to Create the Approval and send it off, then that Flow ends. Later, when the Approver gets around to responding, another Flow that's Waiting for the Approval would kick in and update the item, then generate the next Approval in the chain. However, there is no trigger for "When an approval completes". Furthermore, I can't think of a way that such a trigger would work (they'd have to run when any Approval completes, not just the ones started by that first Flow). 

 

What I'm thinking is:

  1. Add a column in the SharePoint list (these pretty much all work on SharePoint lists) for the "FlowApprovalID" that is populated by the "Create an approval" Flow
  2. Use the when an item is modified SharePoint trigger that checks runs only if the FlowApprovalID is populated and includes the "Wait for an approval" action. The potential issue with this is that the list items could be updated in lots of other ways not relevant to the Approval, so there could be a large number of Flow runs started that are all waiting for the same Approval to complete. When/if that happens, it could be quite chaotic. 

I'm sure there's a way to crack this, but I know I'm overlooking some potential problems, so I'm looking for someone to tell me what those other problems are. Or, someone to offer a better way to do this. On that note, while I know that there is a way to do this that involves CDS; that's not an option here. Myself and two other IT/admins have P2 licenses for the purpose of testing/evaluating CDS to see what it actually gets us, but we are not permitted to use it for any production work. Also, there is way too much vagueness around what's included and what's not for which users. For example, if I have a P2 license and create a Flow that uses CDS, then add others as Run Only users on that Flow, I assume they also need a P2 license to run the Flow? What happens if they don't? Not all orgs will just pony up an extra $20 (or whatever) for every user every month, especially when they (like us) have 40-50,000 licensed users.

1 Reply
Highlighted

Hi @ChadKealey 

 

Not sure there is a work around to the expiration of approvals, however you could get creative and emulate an approvals process using Send email with options instead.

 

capture20190827160127049.png

 

When you fill it in with choices, it will look like this to the receipient.

 

capture20190827160332469.png

 

All the user needs to do is click an option (top section will process instantly, bottom section will open up a web browser tab to process).

 

See if configuring this and saving the details to SharePoint does the job instead?

 

Cheers and best wishes

Damien