Since October 2019, it is possible to share a Power App with an external user, but many people still aren’t aware of that or don’t know how to do that.
In this blogpost, I will explain you how to do this.
First of all, let’s define an external user. This is a user that is not managed through your (Azure) Active Directory.
In order for them to access your tenant, they must be added as a guest user to your AAD. It’s very easy to do so these days, either by adding them directly into your AAD users or by adding them through one of the underlying services (such as SharePoint). External access must be enabled to do so however.
By default, only admins can add guests to your tenant. To make sure everyone in your tenant can add guests, external access should be enabled by your tenant admin. This setting can be found at your admin portal (https://admin.microsoft.com) through Settings > Org settings > Security & privacy > Sharing.
Each service has its own setting to enable the way external sharing is handled. So, if you use a Power App that has a SharePoint data source for example, you need to add that user to the SharePoint site as well. This can be configured in the SharePoint admin center (https://<tenant>-admin.microsoft.com) through Policies > Sharing.
For an overview of enabling external sharing for other services (e.g. Teams or CDS), please refer to Microsoft Docs or ask me in the comments below.
If you’re trying to share your Power Apps with an external user that is not known (yet) in your Azure Active Directory, you will get a notification that the user cannot be found:
So, before you can share your Power App with an external user, he or she needs to be added to your tenant. If you’re using SharePoint as a DataSource in your Power App, the quickest way to do this is to simply share the SharePoint site (or list if you don’t want to share the entire site) with the external user.
Another way is to add the user to Azure Active Directory. This needs to be done by your tenant admin. More information on this can be found here.
Now that the external user has been added to your tenant, the user can now be selected when sharing the Power App. It will show up as guest:
Power Apps also tells you the Data Sources that the user needs to be added to, so if you haven’t done so already, its about time to do so.
Please not that you cannot make an external user a Co-owner of your Power App!
After clicking Share, the user will receive an email that Power Apps has been shared with him/her:
When the user clicks the Open the app button, he/she will be prompted for its credentials. After successfully logging in, a prompt will show that the user does not have a valid license:
This means the user has to be granted a Power Apps license, but you cannot grant them a license through the Microsoft 365 admin center because the Licenses and Apps tab is missing for guest users:
The correct way to do this is through Azure Active Directory. This has to be done by your tenant admin by going to Users > select guest user > Licenses > + Assignments and grant the Microsoft Power Apps Plan 2 Trial license to that user.
Another way to grant licenses to guest users is to put all guest users into an Azure Active Directory group and assign licenses through that group. Licenses will then dynamically be assigned to all users inside that group.
After clicking save, the user can now successful login to the Power App, give consent to the Data Sources used and start using the App!