Showing results for 
Search instead for 
Did you mean: 
Advocate II
Advocate II

PowerApps SharePoint User Experience Demo - you'll want to watch this...

Imagine if you could develop an app with PowerApps that enables you to view any content in SharePoint you have permission to view on any site, view all the Document Libraries and Lists on those sites, view just about any documents such as PDFs, Word, PowerPoint within the same app, view photo libraries rendering highly compressed images AND even watch videos stored in your Document Libraries. And all that functionality had been implemented on just one screen in PowerApps without a single workaround or hack to enable all those things. And if you really want to, you can overide the View Threshold currently 2000 records much higher, although I wouldn't recommend it.


Not a chance, right? That type of functionality is years away surely? No doubt many of you have already been waiting years for it.


Guess again Smiley Very Happy


@TopShelf-MSFT  @JC75 


Evidently it is taking me somewhat more than a few days to finalize this forthcoming blog following my latest response on this thread 🧐 . Not quite as long as it typically takes to implement a new nataive feature in PowerApps put forward as idea suggested by the community LOL.


I can't help it that I firstly have to experiment with all sorts of sytnax against some of the Graph APIs to get the response I expect, especially where there is absolutely no documentation and equally absolutely blogs I could find that helped me whatsoever.


Possibly the most difficult functionality I am still working on is the ability to update the metadata columns for an item in any list or document library using the Update an item in a list Graph API. The documentation for that API is fantastic, if your only requirement is to update the Title property for a List item 🙄.


A real winner if you alternatively wanted to update a People or Group field type column, nonetheless nothing is impossible...


It's worth the wait though!


If you really want to see something super awesome which I can say with absolute certainty there is not one person in the world who would have thought you could do this with some photos you may have in Site Assets, check out the short demo video library Smiley Very Happy

I honestly could not help mysely in refraining from adding other "small" piece" of functionality to this nerverending forthcoming coming blog 😂. The demo video of a very bassic app showcasung search capabiltes of content stored in SPO, but with so many bells and whistles made possible with the simnplist of Flows and nothing more, and the rest as they say is pure magic. Perhaps the final touches on erverything you can'd do in PowerApps with SharePoint, but guess again becasuse you oh so you can!


Kudu's for all those that apperciate this latast and final demo before I publish the blog:


PowerApps and SharePoint Search Integration Demo 

It certainly took far longer then I initially anticipated, but I believe this blog should definitely be worth the wait! 

The demo video for the corresponding blog speaks for itself really.
PowerApps & SharePoint – The Ultimate User Experience

Rather than me trying to describe whether this blog is worth reading or not, feel free to leave your comments on this thread about any functionality in particular you may think is pretty awesome 😁.


@Pstork1 @Anonymous @JC75

Cross posting reply top another thread, which I believe other App Makers out there may also be curious about:


Question ( @Maexchen ) :

okay, I don't get it. @Office365Master which of those is the flow to show a PDF? and would it need a premium connector (i.e. response)?


Question ( @Office365Master )

Per the announcement earlier in July 2019, the licensing plans for both PowerApps and Power Automate (aka Flow) have significantly changed as of October 2019.


I cannot speak for exactly how the latest licensing changes affect your own organization, but if certainly for some scenarios I think the blog I published inclusive of the highly reusability of those Flows may if anything reduce your licensing requirements / costs.


As I understand it, the moment anyone in your organization creates a single PowerApp that includes using even just one Flow / Power Automate business process and shares that app inclusive of that Power Automate 'Flow', you'll either need a Power Automate per user plan or a Power Automate per flow plan. 


To quote from:

"For Power Automate, an unlicensed user that signs in to will be setup with the free Power Automate plan. If later they try to perform an action like sharing a flow, they will be prompted to sign up for a trial. In this example, if the user accepted the offer for trial they would be signed up for a Power Automate trial."


The blog I have now published is quite possibly something that was far from desirable from a licensing perspective because of the extent to which the Flows I have shared are reusable. If you opt to choose for the Power Automate per flow plan, for $500 per month anyone in your organization can leverage up to 5 Flows per month, with up to 15k API requests per 24 hours. You can easily drop the PA_Graph_Search_Sites and the PA_Graph_Item_Versions Flows from the 7 Flows I have shared, leaving you with requiring just one Power Automate per flow plan license (per 15k API requests per 24 hours).


That just adds to how awesome the blog I published is for most organizations. 😂

Perfect timing for this blog in fact, because a couple of months ago, you would have been absolutely correct in that any users or App Makers would have required a PowerApp Plan 2 license in order to leverage the flows I've shared. 


Practically speaking though, it is highly probable that some App Makers in organization will likely create apps consuming flows that they will no doubt subsequently share with other users, the consequences of which will be that all users in your organization using apps that consume a shared flow will require a Power Automate per user plan license.


Back to the other half of your question though, being "which of those is the flow to show a PDF?". In essence you would need to use just 2 of the flows to enable you to drill down to the level where the PDF documents in any given Document Library are stored. i.e. per the Logical Architecture

  • 2. PA_Graph_Site_List_Libraries
    This Flow (the most “complex”) returns a list of Subsites, Document Libraries and Lists for any given site (or subsite for that matter).
    • 3. PA_Graph_DriveItems
      This Flows returns the list of files and subfolders within a Document Library or within a specific Folder in a Document Library.


For the PA_Graph_Site_List_Libraries flow you just need to pass in the relative path to the site containing your Document Library. For example:  "teams/demo".

From PowerApps add a Button control to your app and set the OnSelect property on that control to:

ClearCollect( SiteDrivesLists, PA_Graph_Site_List_Libraries.Run( "teams/demo" )

From PowerApps add a Dropdown List to your app and set the Items property to the name of the collection you specified having run that Flow (e.g. SiteDrivesLists).


You will then have sufficient info to run the PA_Graph_DriveItems flow. That flow requires 3 input parameters, the values of which you should input as follows:

1.  GetDriveItems_Uri:     

Quite simply concatenate the value of SiteIdListLibraryId with /root in your app in order to construct the value of this parameter when you instantiate this Flow from your app. For example:,095f032c-ed85-48ad-93ec-8f5f836f1e1e,270246dc-f8e3-4c8f-8d4d-55ad9cb9826a/drives/b!Mcmxe9WTWO6cJoEDamPmR-V2ulUleSiLqEPpqd_jB7mKA7V_I00gRK5LMTPY9c-s/root

2.  GetDriveItems_Uri_1

For this parameter specify the page size (aka threshold) for the number of rows to return back to your app using the following Odata query syntax:


3.  Initializevariable-odatanextLink_Value

Only relevant for large Document Libraries that exceed the page size you specified for a previous flow run. More info on this parameter on this page in my blog. By default you should specify this input parameter to:


From PowerApps add another Button control to your app and set the OnSelect property to:


    DocumentLibraryItems, PA_Graph_DriveItems.Run(
        Concatenate( Dropdown1.Selected.SiteIdListLibraryId, "/root" ),


Add a Gallery control to your app and set the Items property to DocumentLibraryItems

Add a PDF Viewer control to your app and set the Document property on that control to:



For other document types such as Word documents or PowerPoint presentations you can follow the exact same steps and all you need to do to convert those documents into a PDF format instead is set the Document property on a PDF Viewer control to the following value instead:

Substitute( Gallery1.Selected.Thumbnail, "transform/thumbnail", "transform/pdf" )


Considering this feedback, I will update the blog to perhaps show some more specific examples such as these ones.


All that for $500. I'll gladly accept donations 😁.


@Pstork1 @TopShelf-MSFT @JC75

I have created a far simplied demo app that pretty much showcases how awesome and easy it is to leverage this code. I've now also shared a link to download the simplified PowerApp on my related blog post:

PowerApps & SharePoint – The Ultimate User Experience


I have also uploaded a far shorter 2 minute video demo of the simplied app to YouTube so anyone can check it out before deciding whether or not they'd like to test drive it 🤗.


This latest demo video (blog WIP) I uploaded today takes the cake. Kudos to anyone who can out-do this one 😁.

PowerApps & SharePoint Awesome Demo Photos GPS Geolocation v1.0

Helpful resources

PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Top Solution Authors
Top Kudoed Authors
Users online (3,271)