I would really love to know what the opinon is with regards to how to manage continous improvement for PowerApps and Flow for internal solutions.
In principle PowerApps and Flow work well together, until there is a need to make changes to either. The connection between the two seems so delicate.
We have been consistently plagued with connection errors born out of making changes to a PowerApp or Flow when a product is being used Live in a business.
Since it is not possible to force users to use the latest version of an app so it seems that this is the current scenario:
My App Version 1 + My Flow Version 1 = Runs Fine
My App Version 2 + My Flow Version 1 = Connection error (example property 'shared_office365' doesn't exist)
My App Version 1 + My Flow Version 2 = Connection error (example property 'shared_office365' doesn't exist)
My App Version 2 + My Flow Version 2 = Runs Fine *
* In theory but doesn't seem to be consistent
BUT because a user could be using My App Version 1 or My App Version 2 and there is no way to enforce which version it's almost inevitable that at some point a user is going to invoke the wrong or old flow and this is causing the problem.
I know the process should be like this:
While we wait for users to get the latest version (Step 7) they are running an outdated workflow. So that means data or actions may be routed in two different ways.
From a development point of view everytime we make an edit to a Flow we need to then follow the process above, depending on how many different places the flow is invoked that can take several hours.
This seems like a really poor way of managing change or potential continuous change. I'm sure simple Apps and Flows that are likely to stay static this wouldn't be a problem but for anything that needs to evolve over time it is a headache.
It's a bit of a messy way to make changes and to be honest makes me want to look at other products.
Is this going to be resolved in the long run? Or is there a better way to manage this?
That PowerApps to Flow link is, like you say, delicate and I have run into the issues you have mentioned as well.
If you are adding new properties and passing additional data between PowerApps and Flow, I have found a good way to prevent issues later down the line is to pass a single string property when you first set up the connection between them. Call this property "data" or something similar. From your PowerApp you then pass a JSON object formatted as a string. On the Flow side, the first action you should perform is a parse JSON action to transform the string into a usable object.
By passing parameters this way, if you need to add an additional parameter you can update this in the PowerApp and change the Flow to accept it or default to another value if it isn't present in the JSON (i.e. it came from an old version of the app).
Its a bit of a workaround and hopefully the connection will become a bit more stable over time. Hope it helps.
Hi @digitech ,
Have you had an opportunity to apply @LeeHarris 's recommendations to adapt your Flow and the suggestions above able to help you with your issue?
The reply from @LeeHarris is a great work around and I thank them for that.
However I don't think the answer to this should be a work around it should be a better way of PowerApps and Flow working together, and changes and interdependenices managed better.
At the minute I feel there is something fundamentally flawed in how the connection between PowerApps and Flow is handled. The amount of errors and lost connections that I have come across has led me to conclude that PowerApps can't be our tool of choice for enterprise solutions.
The stock answer is disconnect, reconnect, but it doesn't always work. You can't build enterprise level apps in fear that at any moment the connection will break.
I feel like I've wasted several weeks of time rebuilding apps, rebuilding flows, reconnecting flows, disconnecting flows, reconnecting flows. It's a mess and so difficult to manage and govern.
I've really enjoyed working with PowerApps and Flow and I'm willing the experience to get better but right now I just feel like moving on to a different product.
Just for a bit of context here is a crosspost from a reply I posted here:
Which is a list of other posts describing the same issues: