I have a PowerApp as custom form for a SharePoint list. The SharePoint list has versioning enabled, so I have clear track when users updated list items via the PowerApp.
In the PowerApp, the OnSuceess property of the SharePointForm1 is triggering a PowerAutomate Flow.
Now I recognized that PowerApps does not reliably trigger PowerAutomate Flows. This morning a user made two item updates via the PowerApp and no PowerAutomate Flow was triggered.
Has someone experienced the same issue and can recommend how to deal with that, please?
Frankly spoken, I recently observe "trigger is not executing Flow" issues with different trigger, e. g. "SharePoint list item created or modified". So looks like PowerApps and PowerAutomate are not ready for real production business applications.
Hi @heldry ,
This may not be a solution, more an assurance that this is not normal behavior.
We trigger thousands of Flows monthly both directly from PowerApps and from "when an item is created or changed". One of the latter synchronizes a customer list with up to a hundred entries daily and we have never found a discrepancy.
Many of the PowerApps triggered ones store photos in Libraries and have done over 30,000 reliably.
Maybe there is an issue with the trigger.
Thanks for your feedback.
I have already a ticket open with Microsoft and they confirmed that "SharePoint list item is created or changed" on lists with versioning enabled does not reliably trigger flows. They claim that this is a SharePoint issue and there are no plans fix this.
They advised to trigger the Flow from PowerApps and today I found that this is not reliable either. I have updated the ticket with my findings and I'm waiting for response.
Not sure if these issues are related to the load in MS's data centers these days.
Do you have some monitoring in place that helps to detect if Flows are not executed? I have a SharePoint Designer workflow that executes on item created or modified and then logs the item ID, version, modified date and modified by to a SharePoint list. That allows to check the Flow log and to detected these issues.
Hi @heldry ,
We also have versioning enabled on the list, but not the photo library as they are never changed after filing.
The synchronizing is only to show the customer what is going on and is on a sub-site for security reasons. We are actually looking to change this to a Patch in PowerApps to reduce Flow run totals.
We have not got any monitoring with the volume involved - we would have to manually check thousands of entries in case one sync item did not work. As many fields can be changed on any record during a day, the next Flow would fix it.
Thank you anyway for bringing this to the attention of the Forum - it is useful to know.
Hi @heldry ,
Based on the issue that you mentioned, I have made a test on my side, and don't have the issue that you mentioned. The flow fires successfully when I made a change using PowerApps custom form in my SP List (which has enabled "Version History" option).
Please check if you have specified proper Site Address and List Name within the "When an item is created or modified" trigger.
The "When an item is created or modified" trigger of SharePoint connector may take almost 1 minute to fire after you made changes in your SP List, it would not be fired immediately after you made changes to your SP List.
Also please check if you have created a connection to the "When an item is created or modified" trigger using your own proper credential.
If the issue still exists, I think PowerApps trigger button could achieve your needs. You could consider use "PowerApps" button as Trigger of your flow, then within the following actions, specify these parameters you want to pass from your app using "Ask in PowerApps" dynamic content of PowerApps trigger.
Note: Configure your flow as above screenshot.
Within your custom form app, set the OnSuccess property of SharePointForm1 to following:
'Flow Name'.Run(Argument1, Argument2, ....); // Add formula here to fire flow from your custom form app ResetForm(SharePointForm1); RequestHide()
Note: Please provide proper value for these arguments of your 'Flow Name'.Run(...) function. These arguments represents these parameters defined in your flow using "Ask in PowerApps" dynamic content
More details about firing a flow from an app, please check the following article or video resource:
thanks for your feeback and for looking into this.
The instructions you provided are helpful if Flows never trigger and the user has to configure and get it working the first time. But that is not the case in my situation. I have worked a lot with triggers and Flows in the last days and in principle that works.
However it does not work reliable!
For SP lists with versioning enabaled MS support already confirmed to me that there is an issue with the "list item created or modified" trigger. They did not provide much details except there are no plan to fix this.
For PowerApps triggering PowerAutomate Flow, I counted this morning 110 triggers and 2 of them did not execute a Flow. Versioning proves that the list item was updated, I confirmed with the user that it was done via the PowerApp, but the Flow was not executed. I also raised this in my ticket with MS, but have no helpful response so far.
If a trigger does not relably execute a Flow, then Flow is not usable for business applications.
I have observed similar issue where Flow is triggered in OnSuccess event. In 99% cases it works, but sometimes we just see that form has been submitted (in version history) but Flow is never triggered.
Maybe if moving to button triggered it would resolve this? But then it would have to wait for the actual submit to finish as it relies on the data in SharePoint item. Does anyone have any suggestions for this?
Just for reference, here is what we are doing in OnSuccess:
If(SharePointForm.LastSubmit.Status = "STATUS VALUE", 'FlowName'.Run("STATUS VALUE", "", SharePointForm1.LastSubmit.ID, First(Filter(collContacts,TeamName="Some team name")).EMail, "")); // code removed for brevity ResetForm(SharePointForm); NewForm(SharePointForm);
I thought it has something to do with this First(Filter... clause, but checked with populating label in app and it's always filled in with data. Collection is created on OnNew or OnEdit events in SharePoint Integration.
Generally I face a lot of issues with Flows being triggered from Power Apps, apart from this one which leads me to conclusion that it shouldn't be ever used as doesn't work reliably. I though of changing this to react on SharePoint events rather than events in app itself, but as I understand @heldry you have experienced issues with that as well?
Hi @mpil ,
initially I used "SP list item created or modified" as trigger for the Flow, but that was not reliably executing the Flow each time the trigger occurred. We opened a ticket with MS and they said it's a known limitation when versioning is enabled on the list and they have no plans to fix this. Disabling versioning is not a option for me.
So MS recommended to trigger the Flow directly from the PowerApp (same as you're doing) but I found again triggers that did not execute the Flow. I have one critical application which I am monitoring closely and there I experience 1.7% of the triggers not resulting in a Flow being executed ... an operational nightmare. There is not really progress on resolving this issue, so I had to look for alternatives.
For my critical application I am now using this setup: A small and simple SharePoint Designer workflow is "SP list item created or modified" and adds an item with id and version to a list that functions as queue of changes to be processed. A PowerShell script is pulling the queue every few minutes, is performing the workflow actions and cleaning the queue items when done. This is pretty robust and reliable.
So summing up my experience:
Hope this helps
Thanks @heldry for info - it's really useful, will keep these in mind.
I have actually been able to find the root cause of the problem by adding additional screen with loading animation and confirmation message that processing is done, which is set on OnSuccess after running the Flow. For most users all of this works perfectly well, but we have couple of users that actually got a toast message with error 'Flow.Run failed: The method 'Run' has invalid value for parameter 'param'' - it seems they must have been getting this error earlier, but since the form was being closed automatically with RequestHide(), they couldn't really see it.
Flow is expecting string value, but for some reason it probably got null (or BLANK, as I think PowerApps don't really use nulls). The funny part is that these values are always populated in OnEdit or OnNew events, so they must have been reset somehow. Additionally, for these users sometimes this whole process works perfectly and sometimes they got this error, so I don't really get it.
Maybe your case is similar?
Just a thought, but have you tried using Logic Apps instead of Flow? I believe they use the same connector so it probably does not make a difference, but might be worth a try.
Could you be hitting the API rate limit?
I'd be very wary of using SharePoint lists, Flows and PowerApps for critical business processes.