In this “Create Model-Driven App in Power Apps” article, we will learn how to create your first model driven app in the Power Apps Maker tool from the out-of-the box dataverse table. Before we dive into the article, let us understand what is a model-driven app in Power Apps.
Creating a Model-Driven App in Power Apps is an essential skill for anyone working in the Microsoft Power Platform. This type of app is perfect for complex business processes and data-driven applications, enabling organizations to build rich and customizable user interfaces without requiring extensive coding skills.
In this tutorial, we will explore everything you need to know about creating a Model-Driven app in Power Apps, including key steps, best practices, and important considerations. We’ll also use high-ranking keywords to help this article become highly visible on search engines like Google.
Read Also: Understanding Different Types of Power Apps: 3 ways to create PowerApps
What is a Model Driven App in Power Apps?
A Model-Driven App in Power Apps is a type of app that is built on Microsoft Dataverse (formerly known as Common Data Service). Unlike canvas apps that provide full control over the design layout, Model-Driven apps rely on the data structure, user roles, and components to generate an application. This app model is ideal for applications that require sophisticated business processes and deep integrations with data.
Benefits of Model-Driven Apps
- Data-centric applications: Model-driven apps are perfect for building apps that heavily rely on structured data.
- Out-of-the-box features: With minimal customization, you can leverage ready-made components like views, charts, and dashboards.
- No-code or low-code approach: You don’t need to be a developer to build these apps.
- Responsive design: Model-driven apps automatically adjust to different screen sizes, making them accessible on mobile devices and tablets.
Step-by-Step Guide to Create-Model Driven App in Power Apps
Let’s dive into the process of creating a Model-Driven app in Power Apps.
Step 1: Access Power Apps
To begin, you need to log in to Power Apps through your Microsoft 365 account. Head over to Power Apps and log in using your credentials.
- Open the Power Apps home page.
- In the left navigation panel, click on Create to start the process.
Step 2: Select Model-Driven App
On the Create page, you will see various options for app types. Choose Model-Driven App from the list. This will direct you to a new page where you can define the app details.
Until a few months ago, we had this option to select the app type as a model-driven app both from the Power Apps or Power Automate Maker tool; however, this option is missing now; we don’t see the type for the model-driven app.
We can see the following app options to create a new app in Power Apps:
- Start with Copilot
- Start with data
- Start with page design
- Start with an app template
All the above types are Canvas app types; then, how to create a model-driven app in Power Apps? Actually, this is the purpose of writing this article: to share the knowledge with novice and citizen app developers.
The answer is, to create a model-driven app, we must create it from the Power Platform solution; there, we will get to see the app type as “Model-Driven.”. Let’s get into the action of how to create a model-driven app from a Power Platform solution.
I went to my Power Platform solution. From there I have followed this navigation: Apps -> New -> App -> Model-driven app.
As we can see from the solution, we can see the app type “model-driven app” and create it. I have clicked on this “model-driven app” type.
Step 3: Define the Name and Description
Now, it’s time to give your app a name and an optional description. Enter a meaningful name that reflects the purpose of the app. For example, if you’re creating an app for Sales Management, you might name it “Sales Dashboard App.”
- App Name: Choose a clear, descriptive name for easy identification.
- Description: Add details about what the app will do (optional but recommended for larger projects).
I am going to create this model-driven app for the account-related stuff, so I have named this “My Accounting App.”.
Then, we can see the below screen: “Start by adding a page to your navigation.” Click on the “+ Add page” link.
Then, select your page type. Here, I have selected page type as “Dataverse table”.
Step 4: Choose the Data Source (Microsoft Dataverse)
Model-Driven apps are primarily built on top of Microsoft Dataverse, which acts as your data storage. If you have existing data tables in Dataverse, you can connect to them, or you can create new ones to store your app’s data.
- Choose Dataverse: If the data exists, select your tables from Dataverse.
- Create New Tables: If not, create new entities (or tables) within the Dataverse to store structured data for your app.
Once you select the page type as “Dataverse Table,” on the next screen, you can select your existing dataverse table and/or tables or create new tables for your new model-driven app.
Here, I have selected the “Account” table and clicked on the “Add button. Then, my app looks like below:
My app is ready; I am not going to customise anything more in this; I will use it as is. However, you can refer to the below section and do customisation as per your needs. Now, I will just play this app and publish it.
Step 5: Design Your App with Components
One of the key features of Model-Driven apps is that they come with pre-built components, including Forms, Views, Dashboards, and Charts. You can customize these components to create a user-friendly and visually appealing app.
- Forms: Forms allow users to input data into the system.
- Views: Views display the data in table format.
- Dashboards: Dashboards provide a high-level overview of important metrics and data points.
- Charts: Charts enable data visualization and are perfect for reporting and analytics.
Step 6: Configure Security Roles
Security roles in Model-Driven apps define who can access and modify the app’s data. Assigning the correct security roles ensures that only the right people have the necessary access.
- Set up user roles and permissions.
- Assign specific roles to manage access levels, such as “Read-only,” “Write,” or “Administrator.”
Step 7: Publish and Share Your App
Once you have completed the app design, the final step is to publish the app. Click on Save and then select Publish to make the app available to users. You can then share the app with users in your organization by adding them to the app via Microsoft Teams, email invitations, or directly within Power Apps.
I have published my app and opened in play mode.
How to share Model-driven app in Power Apps?
To share your model-driven app, select your app from your solution apps gallery, and from there click on three dots as shown below:
Once you click on the “Share” link, you will get the below app sharing screen where you select individual person, Azure Security Group, and Microsoft 365 type group. This is one of the major differences in terms of sharing the Canvas app and the model-driven app.
In the Canvas app, we cannot share the app with the Microsoft 365 type group, but we can share it with the Azure security group using the below screen, where a model-driven app supports both types of groups.
Key-points:
- Model-Driven Apps can be shared with users using both Microsoft 365 Groups (formerly Office 365 Groups) and Azure Active Directory (Azure AD) Security Groups. This provides more flexibility for organizations that manage both types of groups for permissions and access control.
- On the other hand, Canvas Apps can only be shared using Azure AD Security Groups, which limits the options for organizations that may prefer to use Microsoft 365 Groups for collaboration.
Key Differences Between Model-Driven App and Canvas App in Power Apps
Aspect | Model-Driven App | Canvas App |
---|---|---|
Design Approach | Data-driven (structure based on data model) | Design-driven (full control over layout and design) |
Data Source | Primarily uses Microsoft Dataverse | Can connect to multiple data sources (e.g., SharePoint, Excel, SQL) |
User Interface | Auto-generated UI, limited design customization | Fully customizable UI with drag-and-drop design |
Complexity | Best for complex business processes and large datasets | Best for custom UI and simple use cases |
Development Time | Faster due to pre-built components | Takes longer due to manual layout and design |
Security | Managed through Dataverse roles; supports Microsoft 365 Groups and Azure AD Security Groups | Custom security; supports only Azure AD Security Groups |
Responsiveness | Automatically responsive across devices | Requires manual adjustments for responsiveness |
Use Case | Structured apps with predefined workflows and data relationships | Custom, task-specific apps with unique user interfaces |
Customization | Limited to data model and pre-built components | Full customization of every screen and element |
This point adds a valuable distinction for organizations that use both types of groups for user management and access control in Power Apps.
Best Practices for Creating a Model-Driven App in Power Apps
While building a Model-Driven app, keep the following best practices in mind:
- Understand your data model: Ensure that the underlying data structure is well-organized and follows a logical flow. A clear data model is essential for a functional app.
- Use pre-built components: Power Apps provide many out-of-the-box components that you can leverage to speed up app development.
- Test thoroughly: Before rolling out the app, ensure that all forms, views, and dashboards work as expected across different devices.
- Leverage security roles: Always assign appropriate security roles to safeguard sensitive data.
Why Choose a Model Driven App in Power Apps?
If you need to build an app that requires complex data relationships, workflows, and automation, Model-Driven Apps are the perfect solution. They come with a host of built-in functionalities that make it easier to create structured, data-driven applications, especially for medium to large businesses.
- Automation: Integrate workflows to automate business processes, such as approvals or notifications.
- Scalability: Model-Driven apps can handle complex, large-scale business needs and data management.
- Customizable UI: Although the layout is structured, you still have flexibility in customizing views, forms, and dashboards.
This article will definitely help you if you are preparing for the Power Apps interview and the Power Automate interview.
YouTube Video Demo: Create Model-Driven App in Power Apps
Conclusion: Model-Driven App in Power Apps
Thus, in this article, we have learnt about what a model-driven app is, how to create a new model-driven app, and how to share a model-driven app with other users and groups.
Learning how to create a Model-Driven app in Power Apps is a valuable skill for business users and developers alike. It allows you to build powerful, scalable applications that streamline business processes without requiring deep coding knowledge. By following this guide and implementing best practices, you can build efficient, data-driven applications in no time.
With Microsoft Power Apps and Model-Driven apps, businesses can create highly functional and integrated apps that transform operations and improve efficiency.
Now that you know the basics, why not start building your own Model-Driven app today?
Frequently Asked Questions (FAQ) About Model-Driven Apps in Power Apps
1. Do I need coding knowledge to create a Model-Driven App?
No, Model-Driven Apps are designed with a low-code/no-code approach. This means you can build fully functional applications without needing to write extensive code. You can focus on defining the data structure and customizing components like forms and views through a visual interface.
2. Which data sources can I use with Model-Driven Apps?
Model-Driven Apps primarily use Microsoft Dataverse as their data source. Dataverse allows you to store and manage data securely. You can also integrate with other services in the Microsoft ecosystem or use external connectors to pull data from other platforms.
3. Can I customize the user interface in a Model-Driven App?
While you have less control over the layout compared to Canvas Apps, you can still customize the UI in Model-Driven Apps by modifying forms, views, and dashboards. You can also add business logic, workflows, and rules to enhance the app’s functionality.
4. How are Model-Driven Apps secured?
Model-Driven Apps use role-based security defined in Microsoft Dataverse. This allows you to assign different security roles to users, which control what they can see and do in the app. You can also use both Microsoft 365 Groups and Azure AD Security Groups to manage access when sharing the app.
5. Are Model-Driven Apps mobile-friendly?
Yes, Model-Driven Apps are automatically responsive, meaning they adjust to different screen sizes. Whether accessed from a desktop, tablet, or mobile device, the app layout will adapt to ensure a consistent user experience across platforms.
6. Can we create a model-driven app with SharePoint Online data source or any other data source other than Dataverse?
No, you cannot directly create a Model-Driven App with SharePoint Online as the data source. Model-Driven Apps primarily use Microsoft Dataverse (formerly Common Data Service) as their underlying data storage. Dataverse provides a structured data model with entities (tables), which is essential for the data-driven architecture of Model-Driven Apps.
However, if you want to work with SharePoint Online data in a Model-Driven App, there are a couple of workarounds:
Workarounds for Using SharePoint Data with Model-Driven Apps:
- Data Integration via Power Automate: You can use Power Automate to sync data between SharePoint Online and Microsoft Dataverse. By automating the flow of data, you can transfer SharePoint list data into Dataverse, allowing it to be used within the Model-Driven App.
- Custom Connectors or Dataflows: You can also set up dataflows or create custom connectors that bring data from SharePoint Online into Dataverse. This enables you to leverage SharePoint data, but indirectly by pulling it into the Dataverse tables.
To use SharePoint data in a Model-Driven App, you’ll need to migrate or sync the data into Dataverse, as SharePoint Online cannot be used as a direct data source for Model-Driven Apps.