In the world of Microsoft Business Applications many times we are talking about implementing and customizing Dynamics 365 which has many pre-built first party apps. These Microsoft created first party apps are great as a template when an organization knows that they want to implement one of the classic business processes of Sales, Marketing, Customer Service or Field Service. Organizations also gain access to restricted record types and business process flows that are valuable when considering and automating these classic business processes.
Model Driven App Basics
What happens if an organization needs a simple Power App built on the Microsoft Dataverse in the cloud that replaces a legacy application or fills a new business need? If they have a simplified use case that involves collecting, searching, sharing and relating data. Without the need or expense of the Dynamics 365 first party apps then they can use the base Microsoft Power Apps functionality to create a Model Driven app on Dataverse to fulfill this need.
Creating the Environment
The process is straight forward, an organization needs a Power Apps tenant (https://admin.powerplatform.microsoft.com) to create the Dataverse database environment and start building the app.
Once the Power Apps environment is created with a related database in the Power Platform Admin Center then you are ready to create the Model Driven App in the Power Apps maker portal (https://make.powerapps.com).
With the Model Driven App created you will need to add your first Page to the App so you can then start to create and place fields (columns) on the Page.
When creating the New Page you have 3 choices, we are going to use Dataverse Table for this example.
There are many pre-built Dataverse tables like Account and Contact that we can choose to add to the new page with fields, forms and views already created. Alternatively, you could choose “Create new table” which will create a new form and view for the table but you will need to create the related fields. For this example we are going to select the Account table.
Views are filtered lists of records of a certain type that can have different column configurations. Views allow users to filter records into more defined subsets of data based on different business needs. To edit an existing View or create a new View go to the Account views area of the page editor.
In the View editor you can create new table column (field) and add new or existing columns to the View. You can also reorder the columns and change the Sort by or Filter by settings.
Forms display the fields (columns), sections and tabs in an organized way for a single record. Like Views, to edit an existing Form or create a new Form go to the Account forms area of the page editor.
Forms can be organized by different Tabs along the top of the Form and Sections on the Tabs. In the Form editor you can create new table columns (fields) and organize them on the form in tabs and sections.
Assuming that you are replacing an existing legacy application with a known database structure or designing a new application with a relational database then creating fields (columns) should be simple. There are many different column types to choose from depending on your needs; including text, whole number, decimal, date, currency, choice and lookup fields.
Business Process Flow
Business Process Flows are available as a tool to guide Users through a complex business process within the Power App. The best Business Process Flows simplify the process and only give Users the most important, high level fields for each step. These are the key fields that may also be required for each step with details added on the main Form. In the example below we can see an opportunity sales process with stages for qualify, develop, propose and close. Within each stage you can add the data steps which are fields (columns) that are the most important for each stage. As you can also see on the right side of the screenshot below you can add conditions (logic steps), workflow, action steps and Power Automate Flow steps to be triggered between each stage.
Here’s the finished product.
There are two ways to automate processes in Model Driven Power Apps. You can use classic workflow which can access all portions of the Power App and Dataverse instance on the Microsoft cloud. Classic workflow is great when your process trigger and all data changes are going to happen within the same Power Apps/Dataverse deployment. You also have access to Power Automate Flows which allows for internal & external trigger events, third party data connectors and changing data on external systems. I’m going to leave the topic of workflow and Power Automate Flow there, as this could be the topic of one or several articles.
I hope that this helps with the basics of creating a new Power Platform environment and Model Driven App when the Microsoft first party apps are not needed. Once you have a Power Platform environment with a Dataverse database you can start building Model Driven apps with tables, views, forms, fields (columns), business process flows, classic workflow and Power Automate Flows. I will continue to create content on these topics but please let me know if you have any questions or want me to drill down on a topic in more detail.