One of the most common impressions that we gathered so far of Power Platform to be used as Rapid Development (RAD) framework is that, it comes free with Microsoft 365 (a.k.a. M365 and formerly Office 365) plans. At least the developers, architects and business users (power users in the world of Power Platform) of M365 got that flavor because Microsoft had let us enjoy its easy availability with the M365 plans. We were able to connect with both Microsoft and non-Microsoft data sources in cloud and on-premise environments alike with a range of in-built connectors and/or using HTTP connectors, developing custom connectors.
But with the inception of the premium plans which were initially P1 and P2, we found a green box, like
started appearing beside many connectors. Then we came to know from Microsoft's release notes that unlike many connectors which used to come free with the M365 plans earlier, then became paid. That means organizations had to buy additional licenses to use them.
Then as the technology kept evolving, there were more restrictions being introduced and users/developers started getting "API limit error". This is because Microsoft also introduced API limits. That means operations which use connectors, call APIs, initializing variables with values, flow calls etc. all account for the API limits that Microsoft introduced. This means even if you buy licenses, there is more to it. So how do you configure scheduled flows which run unattended, keep monitoring your sites and environments? Jobs are one of the prevalent requirements, these days, when we keep modernizing and automating.
Isn't that all a jigsaw puzzle? Well, it is, if your knowledge purview of Power Platform licensing does not cover every nook of it. I have seen clients walking out of signed contracts calling Power Platform a costly affair, either because of their ignorance of how it is priced or because of inadequate consulting done by the vendors who propose to modernize their workspace using Power Platform. In most cases it is the latter.
This is why, you need a rock solid understanding of how licensing works to provide the most optimal solution around Power Platform, to make the fullest use of this RAD framework from Microsoft. Only then will you be able to convince your client that Power Platform indeed helps in cutting down budget and one of the best of its kind in the industry from every aspect.
This article aims at covering most of it with the help of some very apt case studies that summarizes and simplifies Power Platform licensing for you.
Out Of Scope
This article does not cover UI flows, Power BI, Power Virtual Agent. Stay tuned for future articles covering these topics.
Prerequisites
First you need to take a look at the following pages from Microsoft documentation to understand the pricing slabs, restrictions, add-ons, etc.
First of all, there are few questions that you would need to answer to be able choose the right plan for your client, as follows -
- How many flows will be running in your organization, approximately?
- What type of flows are they? Are they automated or scheduled or instant?
- How many scheduled flows do you need to run, approximately? How often will they run?
- How many automated and instant cloud flows do you need? How many users will be using them?
- What all data sources you want to connect with? Are they all native M365 services or would you be needing Premium connectors?
- Do they all have built-in connectors available in Power Platform?
- What type of users will be accessing your environment? Are they internal or external to your organization or is it a combination of both?
- Do you need to build a portal?
- Do we need to worry about large number of API calls?
Plan Selection Matrix
| Sl No |
Requirement |
Plan Suggested |
| 1. |
Native Data Sources Only? |
M365 E3/E5 Plan |
| 2. |
PowerApp Only - At least one premium connector used? |
PowerApps Per User/Per App Plan |
| 3. |
Large no. of users and limited no. of apps? |
PowerApps Per App Plan |
| 4. |
Large no. of apps, but limited no. of API calls? |
PowerApps Per User Plan |
| 5. |
Estimated high no. of API requests/flow calls from apps? |
App Passes under Capacity Add-ons |
| 7. |
Run Scheduled Flows Only? No limit to API requests. |
Power Automate Per User Plan assigned to a service account |
| 9. |
Run Instant/Automated Flows with potentially high no. of API requests? |
Power Automate Per User Plan |
| 10. |
Run limited no. of shared flows with no limit to users consuming them and no limit to API requests? |
Power Automate Per Flow Plan |
Case Studies
1. I have 5000 internal users, who will potentially use apps to be developed such that data operations will happen on M365 workloads only like SharePoint Online, OneDrive For Business, Microsoft (MS) Teams and Planner.
Solution
This case typically falls in bracket of question # 5 (see "Decision Making" above). Answer to this question will be Sl. # 1 in the Plan Selection Matrix (see above)
"M365 workloads only" means M365 native data sources being used. We do not need any premium connector.
Answer to the puzzle is -
- 1 M365 enterprise plan like E3 or E5 for every user
2. I have a hybrid deployment, that uses M365 for workspace modernization. I have 5000 internal users, who will potentially use apps to be developed such that data operations will happen on M365 workloads like SharePoint Online, OneDrive For Business, Microsoft (MS) Teams and Planner. In addition, there will be 2 jobs that will import data from an on-prem SQL Server instance to SharePoint Online, that will eventually be visualized as Power BI dashboards and charts. My SQL Server on-prem database size is ever-growing.
Solution
Key excerpts from the above use case are -
- Data import happens in M365 from on-prem SQL Server. So we need to configure data gateway, which is only available with premium plans of PowerApps/Power Automate.
- Data import to SharePoint Online is via jobs. This means it is a scheduled sync and NOT real-time. Therefore, 2 scheduled flows should suffice.
- 5000 internal users will be using app, that reads data from native M365 workloads. So they can very well be licensed by the standard M365 enterprise plans. (see Sl. # 1 in the Plan Selection Matrix)
- Scheduled flows' calls of SQL Server connector will never exceed 5000 mark stipulated for a PowerApps Per User Plan (See "Prerequisites" section, above)
- Ever-increasing database size is also not a matter of concern as we are bringing in data to SharePoint Online, an integral component with M365 plans.
So answer to the puzzle is -
- 5000 M365 E3/E5 plans
- 1 PowerApps Per User Plan for a service account for running the 2 flows
3. I need to develop an app that will use Microsoft Azure cognitive services like Conversational AI built on top of a curated knowledge base. The app needs to be deployed to MS Teams as a channel app for members of the channel to use.
Solution
This one is pretty straight forward. We shall use MS Azure QnA Maker connector in a flow in Power Automate and call the flow from a PowerApp canvas app. The PowerApp will then be added as a tab in a MS Team channel.
This corresponds to question # 5 under "Decision Making" and Sl. # 2 under section "Plan Selection Matrix", where your QnA Maker connector is a premium connector. The app will run in user context.
So simple answer to the licensing puzzle is -
- PowerApps Per User Plan for all the members of the channel.
4. I am an admin who wants to loop through all SharePoint Online sites in my tenant and generate a permission report.
Solution
So this corresponds to Sl. # 7 under "Plan Selection Matrix" and questions # 3, 6 and 9 under "Decision Making" (see above).
Answer to the puzzle is -
- Power Automate Per User Plan to be assigned to a service account, that will run the scheduled flow.
5. I am a site admin who wants to be notified whenever there are documents uploaded or modified to a document library with some predefined criteria or pattern, due to security reasons. I have 3,000+ employees in my organization who do frequent uploads and changes in this library.
Solution
Here, the admin wants to monitor activities with files in a SharePoint library. As you can see that the library is open to all users in the organization and user count is 3000+, chances are high that there will be more than 5000 operations a day. Hence, if we create a real-time notification and extract activity log, that will lead to 5000+ API calls. On the flip, if we design a scheduled flow (which we can afford to do here, as it is a background process and extracts downloaded thrice or four times a day generally suffice monitoring purpose), we can still restrict API calls to only 3-4 times a day. That makes a whole bunch of difference when pricing is to be taken into consideration.
Also there is no built-in connectors for activity logging and monitoring. We need to consume #Microsoft365 Activity Management APIs. That needs us to make HTTP calls or build a custom connector (#customconnector). Whichever path you tread, you need to a premium connector.
So this corresponds to our questions # 2, 5 and 9 under section "Decision Making". Then, under "Plan Selection Matrix", Sl. # 7 also helps us coming to a decision point.
So answer to the puzzle is -
- 1 PowerApps Per User Plan assigned to a service account or to the admin's account will suffice
6. I want to create a portal that will be accessed by 5,000+ external users who are authenticated by Azure AD. The portal will have canvas apps embedded that will also be externally faced.
This is a typical case of PowerApps portal being accessed by authenticated external users.
Answer to the puzzle is -
- Portals with login capacity is the required plan here. This gives 100 login session per month. So an estimated 51 plans should suffice for this requirement. (Visit PowerApps pricing page, referred under "Prerequisites" section.)
Conclusion
I really hope the aforesaid was helpful, as this indeed puzzles most of us who struggle to choose the right plan for our customers. I tried collating few of the trending use cases above. Comments with more use cases are welcome. I shall try my best to answer them.
Stay tuned for more case studies! 😊