Microsoft has been working hard in their labs to come up with a more consumer-facing method to consume its Azure stack. Developers have already been leveraging it for years and are doing amazing things with the cloud, but how can a power user or business analyst use it as well? Enter PowerApps. PowerApps is a SaaS (software as a service) offering built on top of the Azure stack that gives power users the ability to create small LOB apps for use within an O365 organization. Remember the days where you would create a Microsoft Access application for tracking equipment or an InfoPath form to serve as an HR questionnaire? PowerApps is now here to provide you with that same rapid development methodology and WYSIWYG editor, but also gives you the power to combine all your data using the Microsoft Azure platform.
You can now target your applications to all users on all devices within your organization. PowerApps works on Android, Windows, and iOS devices. You can choose either a phone or tablet layout for your apps and either of those layouts will work when the application is accessed via a web browser as well. It leverages the applications you know (Outlook, Excel, SQL, SharePoint, Dynamics, Salesforce, etc.) to give you the power to create a mashup app that combines data from across your organization and presents it in a consistent manner to your end users. The data that your end users generate can then also be written back to one or multiple systems.
This is the user interface for your applications. It also contains the data connections and collection that your application interacts with. If you are surfacing SharePoint lists, let’s say, then in the PowerApps designer, you will create a connection to your instance of SharePoint (note that PowerApps currently only works with SharePoint online). The designer provides you with the WYSIWYG experience for creating your app. Here you can add labels, dropdowns, tables, images, and just about any other common user interface control that you can think of. And if the designer doesn’t currently have the control that you are looking for, fear not, the PowerApps team is adding news ones on a monthly cadence right now. This is also the host and platform for your application. What I mean by that is all your Dev Ops-ware handled by the platform. You only need to publish your app via the PowerApps designer and your users will automatically have access to the latest and great version. Make an update to the application? Fix a bug and want to ensure all the users get that fix? The PowerApps platform takes care of that for you.
Based on Azure Logic Apps, this technology gives you the ability to create custom “workflows” between applications and systems using a WYSIWYG editor. If you will need your app to send out an email when an action occurs in it, Flow is the technology that will make that happen. If you need to start an approval chain when a trigger is fired off in your application, the Flow editor makes creating that chain a straight forward process. You can create any number of flows that interact with your PowerApps as well as Flows that can run on a schedule. A scheduled Flow could check the status of updates to an Excel file stored in SharePoint for example and then send an alert if some action is needed. Since flow can interact with multiple systems, you could create one that creates a new prospect in Dynamics CRM and then sends an email to the person in the organization who can convert that prospect into a new customer.
CDS (Common Data Service)
This service and its included database are intended to be the repository for the data that is common in your organization which can then be leveraged by your PowerApps. If you have various applications that all have a notion of, let’s say, customers then you should leverage the CDS to store tat common data. The CDS can then serve up that data to those applications as well as to your PowerApps that you will be creating. Now if there is data that only one application needs for its notion of a customer, that data would not be saved into the CDS, since it is not common. Let’s say that you create PowerApp that uses a spreadsheet for its data source. And after a bit of development, you realize that this data will ultimately wind up in Dynamics CRM. You could leverage the CDS to be the data repository instead of the spreadsheet and then create a synchronization from CDS into CRM. This would eliminate the double entry of data from the spreadsheet into CRM and would dramatically cut down on the number of errors as well. You should think of the CDS as the central repository for all your line of business applications data. It is not a master data management solution, that is a topic for another blog post entirely.
As an example, I created an application for our sales team to utilize whenever they encounter an opportunity for integrating Dynamics CRM with Dynamics ERP. Like an InfoPath form, this app allows the technical team to provide a set of questions for the sales team to ask in this situation. Once the sales person has filled out the questionnaire the results are then emailed back to the technical team automatically and we can begin to estimate the project immediately.
Another good example is an app that I have started to work on for our HR team. Currently, there is a massive spreadsheet that must be followed when onboarding new hires. The rows on this sheet are required tasks for onboarding but these tasks all have different owners. The may or may not also be dependent on one another. Wouldn’t it be nice to have an application that could create email alerts, schedule reminders, and report on the progress of these tasks? Well, PowerApps can certainly do that! Someone just needs to wire up those connections and create the data Flows between the various systems. And the spreadsheet can still be the master record for everything that is happening, PowerApps can write back to it as individuals are completing their various tasks.
Do either of these examples sound familiar to you? Or do you have any other similar needs? Stoneridge Software can certainly help you discover the hidden power in your data by helping you to create PowerApps today!