December 2018 update : you can achieve more than 30 days by applying my Controller pattern .
Since the beginning of Flow in 2016, the documentation was very clear : a flow instance cannot run for more than 30 days and an approval action cannot take more than 30 days (approvals came later). In logic apps (which is also the workflow engine behind flow) the limitation is 90 days.
I’ve been writing workflows since 2006 (SharePoint and Lotus Notes) and I’ve faced many situations where we need more than 30 days; the process of creating and validating some important and complex documents can take much more than 30 days. Basic FOIs(Freedom of Information Requests) take more than 30 days.Some processes take 1 year. or more. And the most popular document management system in the world is SharePoint; and Flow is taking over the old SharePoint workflow stuff.
In my advanced flow session, one of my advice is “if the flow takes more than 30 days to complete, don’t use Flow”. As simple as that. Use Nintex or K2 until Microsoft fixes this.
Last week I taught my Master class Microsoft flow to an IT company providing K2 and Nintex services; they like Flow, they would like to sell Flow services, but one of the first thing they mentioned was : how can you find customers who are willing to accept max 30 days ? our customers would never agree, so we are going to use K2 or Nintex.
Yes, there are workarounds like splitting each approval action in a dedicated nested Flow and/or handling the timeouts in the approval action when we reach 29 days and the (nested) flow can call himself again. This is very well illustrated by Mikael Svenson blog post. That is the only workaround we have at the moment and I would like to thank Mickael to bring this issue on the table. I’ve tried that back in the days, but I’ve stopped doing this because it make the flow logic too complex but also in my case I use the Approval timeout setting to proceed to approval escalation : if the user doesn’t approve in less than 10 days, I will escalate to his colleague or to his manager. This means the timeout mechanism is already used to manage a business scenario (even though I’m pretty sure approval reassignment or escalation will eventually be out of the box in a future release of Flow.
Frankly Flow is a nice tool, I love it, people love it, I’ve been using it since day 1 (preview) and I will keep using it, Microsoft partners are willing to make money with it (and this is also money for MS) but this 30 days limitation is blocking !
Also why do we have 90 days in Logic Apps and not in Flow? Is it just a resource issue ? I know there is no free lunch, but guess what ? customers are willing to pay for it ! they understand that because the tool is very cool.
Here is my suggestion for the Microsoft Flow team :
-what about this :
- option 1. If a flow takes more than 30 days, let the customer pay for another instance. Something like 30 days : 1 instance, 60 days : 2 instances, and so on. or more.
- option 2.You need Plan P1 or P2 if you want > 30 days
- option 3. You need to buy a new plan : P3 for long running flows.
I have another blocking issue with Flow : we need more flexibility in the approval forms; we want to be able to customize them, this is urgent. Ex: I do not just want to approve or reject, I want to reject and reassign to person 1 or to person 3. This is another message from my customers.
Because we have almost everything we need to create real critical enterprise workflows with Microsoft Flow (I don’t even ask for state machines, because we have acceptable workarounds).
Don’t shoot the messenger !
After discussing the matter with a member of the Flow team it looks like the team is aware of this issue / feature. The suggestion was to vote on the following idea.
Please, do it 🙂