cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
dakridge
Level: Powered On

Refresh A DataSource from PowerAutomate

I just got back from Ignite 2019 and I asked one of the experts if I could do this and he said he thought it was possible.  I've not been able to figure it out in the past three days.   It may sound crazy, but I would like to refresh the data-source in my app only if a new item is added to my SharePoint Event List.  Cache build-up from constant refresh to check for new items is crashing the iPad.   I tried to use Flow to create a "When new item is created" and then use "Respond back to PowerApps", but that seems to form some kind of reoccurring loop.  The "Respond back to PowerApps" must only work if the Flow is called from PowerApps.  

At this point I'm just reaching out to see if this is possible and if not, I can just move on to another solution. 

David K Akridge
Chief Information Officer, Mobile County Public Schools
1 ACCEPTED SOLUTION

Accepted Solutions
IvanZ
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

The loop will be in flow, I think you need to create three loops in order to meet your goals.

 

Basic design of the flow:

trigger from powerapps --> [Loop: Apply to each]Find the last row of the Sp list and get its ID# and set this as variable1--> Do a loop until (condition for 1 day for testing, 30days is the max)->Inside the loop-> create a 10 mins delay->  Find the last row of the Sp list and get its ID# , do a compare of this ID# to variable1_> if ID# greater than variable1, send back a powerapps variable and set it to true, else do nothing -> go back to the do until loop again

 

Link for find the last ID (last row) of the sharepoint list, you also need to change the default for 100 items to 5000 max when scan thru the sp list in the setting of the apply to each loop.

https://powerusers.microsoft.com/t5/General-Power-Automate/Retrieve-last-record-ID-from-SharePoint-l...

 

Here is a sample to set variable from powerapps->flow->powerapps

https://flow.microsoft.com/en-us/blog/return-data-to-powerapps/

 

Hope this help.

View solution in original post

10 REPLIES 10
Dual Super User
Dual Super User

Re: Refresh A DataSource from PowerAutomate

Hey @dakridge 

 

The Respond to PowerApps action will only be executed if you trigger the flow from the same canvas app. I do not think this is doable directly.

As a workaround for this, you can create a timer control with below configuration:

App -> OnStart -> Set(RowCountOnLoad,CountRows(DataSourceName))

Timer
AutoStart -> true
Duration -> 10000 (runs every 10 seconds, you can update this.)
Visible -> false
repeat -> true
autopause -> true
OnTimerStart -> If(CountRows(DataSourceName) > RowCountOnLoad, Refresh(DataSourceName);Set(RowCountOnLoad,CountRows(DataSourceName)))

 

Hope this Helps!

 

If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

dakridge
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

That's ingenious and simple.  I'll put that together and test it.   I'll respond back and let you know the outcome.  Thank you for the suggestion. 

David K Akridge
Chief Information Officer, Mobile County Public Schools
Highlighted
dakridge
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

So it appears that the countrows only counts what is cached.  You have to refresh the data source to change the countrow total.  This defeats the purpose.  It works at the app if someone add an event because the submit form will refresh the data.  If you add the event in the Sharepoint calendar, you can't see it until you refresh and doing that every minute or two is killing the iPad. 

 

 

David K Akridge
Chief Information Officer, Mobile County Public Schools
Community Support Team
Community Support Team

Re: Refresh A DataSource from PowerAutomate

Hi @dakridge ,

Could you please share a bit more about your scenario?

Do you want to refresh SP List data source in your app when a new item is created in SP Event List?

 

If you want to refresh SP List data source in your app when a new item is created in SP Event List, I afraid that there is no way to achieve your needs in PowerApps currently.

 

Power Automate (MS Flow) could not achieve your needs. Currently, we could only fire a flow from an app, could not fire an Event in an app from a flow.

 

As an alternative solution, I think the Timer control could achieve your needs. You could consider add a Timer control in your app to refresh your SP List data source every second.

I have made a test on my side, please take a try with the following workaround:

Add a Timer control in your app, set the Duration property to following:

1000

set the AutoStart property and Repeat property to following:

true

set the OnTimerEnd property to following:

Refresh('YourSPList')

set the Visible property of Timer control to following:

false         // Hidd the Timer control

 

Please consider take a try with above solution, check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
dakridge
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

That's exactly what I am doing currently in the app.  If you look back in my original entry, the constant refresh of the SP List is causing cache buildup on the iPad of over 6gb within a two week period.  I have to take the app offline and use the menu on the manual clear in the PowerApps app menu and start it over again.  This is going on 2 years and can't get a solution or see that anyone else is having an issue. 

I see multiple solutions using the timer, but if you setup a simple gallery using a SP Event List calendar and set a time to refresh the data every 10 seconds.  You will see the build-up of cache in the iPad.  Once full, it crashes.  I really only want to refresh when something is added either in SP or at the app.  

There seems to be no solution.  Everything points back to Refresh(DataSource).
Thanks

David K Akridge
Chief Information Officer, Mobile County Public Schools
IvanZ
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

I recall you can trigger a flow directly from powerapps, do something and then it can push a value back to powerapps.

 

Create a check box called "Auto Update", oncheck it will trigger a flow which do a loop of every 5 mins to check sharepoint list ID is greater than initial ID it stored. If greater, update the powerapps field called "NewItem" = true. Set the flow initial to last ID value. and do the loop again.

 

In the powerapps, set another 5mins timer to check "NewItem" if true, if true, refresh the sharepoint list and set the NewItem = false. This will prevent too many sharepoint list refresh if it really works.

 

Sorry I didn't test it myself.

 

  

dakridge
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

Ivan,

 

Thank you for your reply.  I'm a little confused on what the SharePoint List ID is and how that is used to check the if a new item is added to the list.  I'm going to do a little research and see if I can find a little more info while I wait for your response.

 

Thanks again for your reply. 

 

 

David K Akridge
Chief Information Officer, Mobile County Public Schools
IvanZ
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

Treat the sharepoint list ID like helpdesk ticket number, it is auto increment and cannot be reset or change. If you go to the sharepoint website where the list located, go to view/hide column, check to view the ID column. 

 

https://sharepointmaven.com/how-to-add-a-unique-identifier-to-a-sharepoint-list-or-library/ 

 

 

dakridge
Level: Powered On

Re: Refresh A DataSource from PowerAutomate

I'm getting closer to understanding.  I have the ID setup now.  Is the loop you propose to use in Flow?  Is this the Do Until?  I see there is limitation to like a 24hr period on the loop.

 

 

David K Akridge
Chief Information Officer, Mobile County Public Schools

Helpful resources

Announcements
thirdimage

Coming Soon: T-Shirt Design Contest

Keep your eyes open for our upcoming T-shirt design contest!

thirdimage

Power Apps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

Top Solution Authors
Top Kudoed Authors
Users online (5,362)