Loading...

Managing Public SharePoint Documents for Power Apps Portal and Internal Documents Using Cloud Flow (Part 8 of 8)

Managing Public SharePoint Documents for Power Apps Portal and Internal Documents Using Cloud Flow (Part 8 of 8)
This is the eighth post in a series of Automating SharePoint Integration with Dataverse using Power Automate. You can check out the other posts via these links (Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7)

Power Apps portal has the capability to upload and display documents to and from SharePoint directly to the Document Library related to a record. But sometimes, there is a requirement to manage two types of documents, one for the public documents visible to the portal user and the private documents which are supposed to be visible only for the internal Dynamics 365/Power Apps users. This can be achieved by uploading the public documents for the portal user to the Document Location which is created first and the private documents for the internal users can be uploaded to the second Document Location. (Special thanks to Gus Gonzalez for sharing this solution by Nicholas Hayduk.)

We can automate this solution by automatically creating the x2 Document Locations with a cloud flow as soon as the record is created. In the Part 1 post, I have explained how to automatically create SharePoint Document Location OnCreate of the record. This is the extension the previous solution with the additional steps to create the second Document Location.


These are all the steps included in the cloud flow for this solution. The following cloud flow is triggered on create of the Contact and creates the public Document Location for the portal user as in the Part 1 post and then, creates the private Document Location for the internal users.

The first part of the cloud flow is almost the same as the the Part 1 post except the SharePoint folder path and Relative URL with "_Public" postfix (as highlighted in the screenshot above).

After creating the first Document Location, delay the flow for 5 seconds to make sure that the timestamp of the second Document Location is different from the first one. The steps for creating a SharePoint folder and Document Location are almost exactly the ones as the public one except the "_Private" postfix (as highlighted in the screenshot).


After creating two Document Locations, the documents uploaded to the first Document Location (red highlighted ones) can be visible on the portal and the documents uploaded to the second Document Location (green highlighted ones) can be visible only to the internal Dynamics 365/Power Apps users. 

The user can see the documents from both location by manually selecting "All Locations" from the Document Location menu but that selection cannot be default. When the internal user opens the Documents tab, the Document Location in the first menu item is shown (e.g. Private Documents in this case when the Document Location name is sorted alphabetically).


Summary

When the SharePoint integration from Power Apps portals is enabled, the users can see all the SharePoint documents related to the record but we can upload the documents for internal purpose to the secondary Document Location and keep those hidden from the Portal user.

Published on:

Learn more
Linn's Power Platform Notebook
Linn's Power Platform Notebook

A blog about Dynamics 365 and Power Platform (canvas apps in Power Apps and flows in Power Automate).

Share post:

Related posts

4 ways to filter data in Power Automate

Yesterday, I looked at how to filter data when making an API call using the HTTP action and noticed that filtering data isn't always straight ...

22 hours ago

Power Apps – Deprecation of Preview Copilot Controls in Canvas Apps

Starting on February 2, 2026, the following preview Copilot features in Power Apps Canvas Apps will be removed: Copilot Control: Add a Copilot...

4 days ago

CountRows, CountIf, CountA and Count in Power Apps

How often would you like to count the number of records without really wanting to load all the records that exist in a list or table. CountRow...

5 days ago

Segments in Customer Insights - Journeys: Bulk delete with Power Automate

Currently its not possible to delete segments more than one at a time from the view in Dynamics 365 Customer Insights - Journeys. Why? I don’...

5 days ago

Organise UI Elements in Power Automate Desktop

In recent months, I have begun using Power Automate Desktop for automated testing within Power Apps. In this post I will have a look at how w...

6 days ago

How to read Global Choice/Optionset Metadata from Dataverse from Power Automate using HTTP Dataverse WebAPI Call

In this blog You will learn How to read Global Choice/Optionset Metadata from Dataverse from Power Automate using HTTP Dataverse WebAPI Call. ...

7 days ago

How to read Local Choice/Optionset Metadata from Dataverse from Power Automate using HTTP Dataverse WebAPI Call

In this blog You will learn How to read Local Choice/Optionset Metadata from Dataverse from Power Automate using HTTP Dataverse WebAPI Call. W...

7 days ago

Microsoft retires the Power Apps Per App Plan

Although not yet officially announced by Microsoft, the Power Apps Per App Plan has been retired, seemingly with immediate effect. What was th...

8 days ago

3 approaches to reshape data in Power Automate Efficiently

Earlier this week I was asked to reshape data in Power Automate. Having an array of data that needs to be reshaped just sot that an API can ta...

8 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy