Should Your Business Be Using Power Apps?

December 19th, 2024

At Solution Street we continuously explore and evaluate various tools to provide the best solutions for our clients. Determining the most suitable toolset and platform is our top priority. I have explored several no-code/low-code tools in the past such as Budibase, FlutterFlow, and LoopBack. Joel Nylund has also evaluated low-code platforms against alternate solutions. With this article, I will discuss whether or not your business should be using Microsoft’s Power Apps.

Power Apps is a low-code platform for building custom business applications. No-code is possible but typically appropriate for very rudimentary apps. The Power Apps platform connects to data stored in Microsoft Dataverse (built-in datasource) or various other data sources like Microsoft 365, Dynamics 365, SharePoint, and SQL Server. In Power Apps you can build enterprise-wide business logic including workflow capabilities and responsive design. Power Apps works across browsers and mobile devices. Additionally, it works with Microsoft Copilot where users can describe their app using prompts to fully generate apps or use AI assists with design, automation, and coding.

This article is mostly for technical business managers to identify whether or not using Microsoft Power Apps is appropriate for their division or organization. This article does not contain a tutorial, but there are many good ones out there on the internet including Microsoft’s own. I’ll run through various aspects and capabilities of Power Apps within the following sections and then provide my opinion. 

Where Power Apps Fits into the Microsoft Ecosystem

Power Apps is one part of the Microsoft Power Platform and includes several other tools for business intelligence, automation, and AI:

  • Power BI – business analytics tool used to visualize data, create interactive dashboards, and reports
  • Power Automate – workflow automation tool
  • Copilot Studio/AI Builder – tools to build chatbots without coding
  • Power Pages – data-driven websites for external users (e.g., customers or partners)
  • Dataverse – underlying data platform

Image Reference: https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-int

Each of the tools connect as needed in the overall Power Platform. Power Apps can connect with Power BI to display interactive visualizations within apps. SQL Server and Dataverse provide Power Apps with data source options. Power Apps also works alongside tools like Microsoft 365 and Dynamics 365 to create custom solutions that extend the functionality of applications like SharePoint, Teams, and Excel. Depending on the overall need, Power Apps can fully integrate with other tools in the platform or other Microsoft tools and services. Microsoft Copilot is used throughout to assist with quicker design and development. 

Types of Power Apps

There are three primary types of Power Apps:

  1. Canvas Apps – This type is used when a custom UI interface is a priority. It uses drag-and-drop to design and build the UI from scratch. Ideally used for tasks such as data entry on dashboards. You can connect to over 900 data sources including SharePoint and SQL Server. Example app: Employee expense tracker with photo usage for receipt capturing. 
  2. Model-Driven Apps – This type is used when the data, process, and/or workflow is the priority. The UIs are generated. All data is stored in the Microsoft Dataverse. Ideally used for structured workflows like CRM systems or case management systems. Example app: Customer support ticketing system with workflow tracking and email notifications.
  3. Portal Apps – This type is used for external-facing websites for customers or clients outside of the organization. Commonly used for customer support or partner collaboration portals. Example app: Event registration portal for anonymous users to register for events.

Organizations typically have more than one need, so often several of these or all of them are needed for different applications within the same organization. 

Licensing is dependent upon the type. For example, Canvas and Model-Driven Apps offer per app pricing plans of $5/user/app/month (for access to one app) or per user pricing plans of $20/user/month (for access to unlimited apps) whereas Portal Apps offers pricing dependent on authenticated users ($200/month for 100 users) or anonymous users ($75/month for 500 anonymous page views).

Collaborative Development in Power Apps

Power Apps allows for a collaborative development environment including Git integration and version control to manage code changes and review updates. Typically, developers and designers take on separate roles to handle the app’s visual design and functionality. Within Power Apps, development/design teams can share apps for review, test collaboratively, and assign permissions to control who can edit or deploy apps. Integration with Microsoft Teams is typically used for internal communication during the design and development process. 

Customizations and Supported Languages

Although “no-code” might be possible, Power Apps are typically “low-code” or “pro-code”: “low-code” such as using capabilities like Power Fx formulas (similar to how Excel formulas are used to calculate and transform spreadsheet data); “pro-code” as in writing actual code for capabilities like building custom connectors for third-party APIs, implementing server-side logic with Azure Functions, or embedding advanced JavaScript. 

Supported customizations and languages include:

  • Power Fx – Formulas to build logic within the app interface without traditional coding.
  • Custom Connectors – Can extend app connectivity to third-party APIs using REST or OpenAPI specifications.
  • JavaScript – Able to add interactivity or manipulate data dynamically in embedded scripts (e.g., checking for a valid email format).
  • HTML and CSS – Able to customize UI elements (e.g., custom navigation menu) for more control over app appearance.
  • C# – Can write plugins or Azure Functions to perform server-side logic or data transformations.

Testing Power Apps

Testing of apps in Power Apps can be either manual or automated. For manual testing, the platform includes Power Apps Test Studio, which allows a developer to create and run test cases that simulate interactions with the app. The Power Apps Monitor tool helps with debugging by capturing app events, errors, and performance data. 

For automated testing, Power Automate workflows simulate user actions or validate integrations. 

Security in Power Apps

Security in Power Apps is managed through several layers to protect data and control access. Role-Based Access Control (RBAC) allows the ability to define permissions for app users. For apps using Microsoft Dataverse, data security is built in with row- and field-level permissions. GDPR and ISO are supported. Additionally, Azure Active Directory (AAD) integration provides authentication and single sign-on (SSO), enabling centralized management of user identities and permissions. 

Overall Pros and Cons of Power Apps

After building some apps in Power Apps, here are my high-level pros and cons of using the tool:

Pros:

  • Rapid Development – Of course with any low-code/no-code/pro-code tool, building apps is much quicker given the drag-and-drop nature and component generation of the AI tool. I am able to quickly put together a number of useful CRUD style applications in no time and some better looking UI apps as well. 
  • Integration – Given you are in the Microsoft ecosystem, the integrations with other services like SharePoint, Teams, Azure, and Dataverse is clearly going to be much easier. An additional benefit is the ability to connect to over 900 other platforms from within Power Apps.
  • Cross-Platform Compatibility – Power Apps works on web browsers, tablets, and mobile devices which ensures accessibility across different environments.

Cons:

  • Cost – As with many products like Power Apps, licensing can become very expensive, especially for companies requiring premium features like Dataverse (surprisingly so) or external connectors, or for apps used by a large number of external users. For example, let’s say you have created a relatively simple CRUD application, storing your data in the Dataverse with some external connectors to retrieve additional data. Since you are using the Dataverse and external connectors the cost is $20 per user per month. For 100 users of your system that is a $2,000 per month cost. 
  • Complexity for Advanced Features – While no-code/low-code building of apps is straightforward, implementing advanced functionality (e.g., custom APIs or plugins) requires more code to be written and it is not always clear where the code changes/additions exist.
  • Performance Limitations – Like many no-code/low-code platforms, simple database queries are baked into the platform, but creating complex data queries or large datasets often causes slower performance and thereby requires the developer to “peel back the onion” to optimize.

Conclusion

First, in general, low-code platforms like Power Apps follow the 80-20 Pareto Principle in that they often allow you to achieve 80% of the desired functionality quickly and with minimal effort. This includes common features like creating forms, creating database tables and connecting to data sources, and setting up workflows. However, the remaining 20% – which typically involves more complex requirements, such as advanced customizations, integrating unsupported systems, or highly specialized features – can consume the majority of development time. In some cases, this 20% might not even be achievable due to the platform’s limitations, requiring workarounds or external tools. This is true of every tool in the low-code space. 

Should your business use Power Apps? Here are the questions to ask yourself:

  1. What are the types of apps needed to be built by the organization? If they are apps that require data entry, automation/workflow, reporting/visualization, field service mobile, and external partner portals then these are good use cases for Power Apps.
  2. How many users will be using your apps and is this cost effective? Given the cost of licensing is about $5-$20/per user, does it make sense to use Power Apps? 
  3. Do you have apps that require highly customized or visually complex user interfaces? Clearly this is not a good use of Power Apps. Consumer-facing applications, gaming, multimedia, and highly interactive UIs are not appropriate for this platform.
  4. What type of personnel do you have at your organization (or can you hire) to build and maintain apps built on the Power Apps platform? If you have non-technical users, they may be able to learn and build apps, but will they be able to perform customizations if needed? Do you have a group of developers who are used to building custom applications from scratch and will they quit if you “fall-back” to a low-code platform?

As with any platform, once you embrace the platform you will both reap the rewards of simplicity and consistency, and equally so, get stuck with the issues and frequent changes of that platform. I can say from experience that many things change frequently, from simply the name of the product to the tool’s presentation layer. 

Keeping in mind that pros and cons should be evaluated by the individual organization, overall I like the Microsoft Power Apps platform for its simplicity in what it can do. The connecting of forms and data is seamless and the cross-platform capabilities are great for an organization that would like to keep their software simple with one “codebase.” 

If you made it to this part of the article and would like help evaluating whether or not Microsoft Power Apps, or any other low-code platform, is right for your organization, reach out to us at Solution Street. We would be happy to help you evaluate low-code platforms vs. custom software development.