One of the most common gripes of flow is its limited runtime. A Flow may only be active for 30 days. After that the flow will simply stop and register as time-out. There are a few ways to get around this issue. You could for example:
- Chop up your process in multiple Flows. If each individual part isn’t longer than 30 days, this should work
- If you use Flows for warnings or retention after a specific amount of time: there are other ways of doing that in Flow: https://www.mavention.nl/blogs-cat/is-flow-a-working-alternative-for-sharepoint-retention-policies/
These methods got me out of tight spots before. But alas, this doesn’t always work. If you have a Flow with lots of parallel paths, it’s hard to chop your Flow up. Isn’t there any way to run the flow indefinitely? YES, yes there is (kinda).
Put your Flow in a Loop with HTTP requests
What we see in the example above are 2 separate Flows.
FLOW 1: Starting Flow
- The 1st trigger goes off when an item is created.
- It then gets the item ID of the item that is created and sends a http request to our Main Flow
FLOW 2: Main Flow
- This flow receives the http request and starts the Flow with the Item ID given by the http request
- On one parallel we put a delay of 29 days. After 29 days re-trigger the Flow via the same sort of http request we used in FLOW 1, and Stop the current Flow.
- On the other parallel track we put our regular flow
There is one BIG Caveat!!! Everytime we do something, we need to check if this has been done before. If we did It before, we can skip this step. If we didn’t we can perform our action and log that we did so. These are 2 extra actions per action, so your Flow will increase in size considerably.
About HTTP Requests
Another thing to consider is that as of 2019 http actions in Flow are not in the standard Licence anymore. The owner of the flow has to have a P1 licence to run http actions.
But, Yes.... Following these steps you too can have your eternal Flow!