PowerApps is licensed in the Office 365 environment and offers three license plans: PowerApps for Office 365 and Dynamics 365, PowerApps Plan 1 and PowerApps Plan 2. Since it often is not clear, if end users who want to use (and not create) a PowerApps app need a license or how licensing works with data sources, I want to inform about licenses, show some samples and clarify that topic here.
License plans
First, let's have a look at the license plans. powerapps.microsoft.com/pricing informs about the three different license plans which are available since November 2016. For Flow, see flow.microsoft.com/pricing.
PowerApps licenses at a glance
So, I summarized the top key facts for licensing of PowerApps:
- Trial: A trial lasts for 90 days.
- PowerApps and Flow can be used only within the Office 365 tenant - this means in your own organization:
- Every user needs to login with his (company's) Office 365 credentials. No company login, no access.
- Every user who wants to use a PowerApps app, needs a license. (This answers the title question...)
- These Office 365 SKU's include "PowerApps for Office 365":
- Office 365 Business Essentials
- Office 365 Business Premium
- Office 365 Enterprise E1, E3 and E5
- These Dynamics 365 SKU's include "PowerApps for Dynamics 365":
- Dynamics 365 for Sales, Enterprise edition
- Dynamics 365 for Customer Service, Enterprise edition
- Dynamics 365 for Operations, Enterprise edition
- Dynamics 365 for Field Service, Enterprise edition
- Dynamics 365 for Project Service Automation, Enterprise edition
- Dynamics 365 for Team Members, Enterprise edition
- Dynamics 365 for Financials, Business edition
- Dynamics 365 for Team Members, Business edition
- PowerApps Plan 2 is included in: Dynamics 365, Enterprise edition, Plan 1 and Dynamics 365, Enterprise edition, Plan 2
- You can mix PowerApps licenses within your organization as needed.
- Data source defines the license: If a PowerApps app is only accessing data stored in Office 365 (and a cloud service that is covered with a standard connector), the Office 365 licenses they already have cover both creation and usage of this app. Otherwise, for example, if the Common Data Service (CDS) is used as data source, all users need PowerApps Plan 1. See more details here.
- Storage or limits: Sometimes it comes to resources or quotas: To clarify: Resource capacity (data storage, file storage, and flow runs) is included with each license. If a tenant's capacity is exhausted, customers may purchase additional capacity through add-on licenses. See more details here.
What happens with a user without licenses?
To show this in real word, I have documented the scenario of a user accessing a PowerApps app without any license here.
...
So, the new user was created.
This user does not have any Office 365 license. He just can sign in.
Try it
So, let's open a browser in Private mode and try https://powerapps.microsoft.com/.
Sign in with the new user.
Now, there comes the interesting part: John does not have a PowerApps license.
PowerApps welcomes us with two options: "Cancel" or "Start my trial".
To clarify, this means, we will not get access to PowerApps without a license.
Every user of a PowerApp needs a license (whether he just want to use an app or if he wants to create a new app).
So, the minimum license plan a user needs is "PowerApps for Office 365 and Dynamics 365".
Don't use PA - or use a trial
If you like, use "trial". As mentioned above, this trial lasts for 90 days.
With the trial, John now can also create new PowerApps or consume existing ones.
The user gets the full PA experience as with a license.
If a user is running a trial, the Office 365 administrator can assign him a "real" license anytime.
Need a license for the data source as well
So, John has a PowerApps trial license now (but still no other license). When accessing a company app, we get interesting effects, which might not be clear for all readers. So I also wanted to document this scenario (and in general the behavior when working with PowerApps and data sources).
I am using the mobile PowerApps app on my phone for the test, logged in as John. Although I can see the apps, as the "Fahrtenbuch" app (see here), I need to sign in to access the data sources - in that case SharePoint Online and Office 365 Users. Ok, so Sign in, Connect for each data source, until it's done and then Allow.
So far so good. Now the app continues and ...
...the user does not get access to the data source. He cannot use the app with SPO as data source.
That's understandable and shows, that a license is needed for the Office 365 resources as well (or any cloud service that is covered with a standard connector). John could sign in, but he does not have a license for accessing SharePoint Online. So he does not get access to the data source.
It would be a different story, if the organization writes it's own data source (a Web API with the CRUD operations and a swagger document) without any Office 365 data services. Then there's just the PowerApps license required (as we have currently with the trial for John).
Test it with license for PA and the data source
Just - to proof that - the other way around: When checking the licenses of John, we see, that the PA trial is not visible. The user still has no PA license. Secondly, I assign just the SPO (Plan 2) license to that user.
It took about 1 to 2 minutes until my PowerApps app on the mobile client showed my apps again. When running the "Fahrtenbuch" app, I got the same experience as above: "You don't have permissions to access this app.". Well, ok, now John has a license.
But, he does not have permissions to the SharePoint list!
Usually in SPO, permissions are inherited. So I simply assigned John as member of the underlying SPO site (where the list is stored).
Ok, next try. Going back to my mobile device, creating a new record and tapping the refresh button in the list. Now it works like a charm.
Now John is able to use the PowerApps app. Reading the (second data source) Office 365 users works as well with the account of John.
What we see in this sample as well, is that there is no impersonation of users working with a PowerApps app and an Office 365 data source. The PA client is accessing the data source with the credentials (the user object or the token) of the logged in user. In our case John needs to have permissions to the SPO list.
Summary
I hope this short summarization makes it clear how licensing for PowerApps works and what it means in real world.
Happy developing PowerApps!