Yeees! It's finally happening and I couldn't be more excited
I've been dreaming of a day when we could describe an app and voilà, it appears. That dream is starting to come true in Model-driven apps.
Generative Pages helps makers to turn ideas into working UI in minutes allowing you to describe the type of page you want and building it for you, including layout, controls and data.
This new feature is still evolving, but I tested and see already a huge potential for speeding up app creation, especially when working with structured Dataverse tables.
Let’s dive into what it is, how to create your first Gen page and, of course, the limitations.
What are Generative Pages?
In short, Generative Pages let you describe the page layout and purpose then, Power Apps (and Copilot) automatically generates the UI, logic and bindings. Currently only available in model‑driven apps, the GenPages works by interacting with the app agent, where you describe what you need, specify the Dataverse tables needed and can even attach images of your idea as inspiration.
How to create a Generative Page in model-driven apps?
Pre-requisites: in August 2025
- This feature is only available for Model-Driven Apps (not Canvas Apps)
- The Power Platform environment must be located in the US region.
- It also requires Copilot features to be enabled in the environment. It's on by default
For this post, I’ll walk you through the process using a real solution I created years ago: an HR onboarding app built in a Model‑Driven App, where new hires are registered and onboarding tasks are tracked. So, the tables already exists.
Create or open a model-driven app for editing
In the app designer, select "Add a page"
Describe your page: A new tab will open and you will se a Copilot prompt like the image bellow:
Then, describe what you want to create. Example: Based on the attached image, create a page to view, edit, and add employee records from the Employees table.
...And add the tables.
Copilot instantly built a structured page, pulling data from the mentioned Dataverse tables and generating views and forms that I could immediately test and customize.
This is what I got
Then you can refine the layout, behavior and adjust the relationships in the App Agent using natural language
Considerations and limitations: August 2025
There are a few limitations to keep in mind when working with Generative Pages:
- Dataverse only: You can only connect to Dataverse tables (up to 6 tables per page)
- No code editing: You can't edit generated code directly. You need use the App Agent.
- Manual publishing required: You need to publish each generative page separately, meaning, publishing your app won't automatically publish the pages.
- Initial prompt: You must include all needed tables in the first prompt, there is no 'add later'.
- Language: Only US english is supported
- No collaboration: Only one maker at a time working on a gen page
- Prompt history: You can just access your last 5 interactions with the App Agent.
With these limitations in mind, plan your data model and page structure in advance to avoid problems during the page generation.
Bonus: Don't skip the "Agent Thoughts!
When you generate a page or make any adjustment with the App Agent, you will find the "Agent Thoughts" just bellow the response. The Agent Thoughts give you back the interpreted request and what steps it took to build the page.
Really nice, huh?! And more, if the result doesn’t look how you imagined, this section helps you troubleshoot, improve your prompts and better understand the App agent/Copilot behavior.
Bonus 2: Unexpected behavior
While testing, the "Restore" button didn't respond, even after multiple clicks and waiting.
I also tried typing "Restore" into the prompt, thinking it might revert the page to the last published or saved version. Instead, it quickly generated a random landing page unrelated to my current project. At one point, displayed this error page.
This might just be a temporary bug, but it’s good to be aware of it.
Conclusion
Generative pages won't build everything for you, but it can help you prototype, learn and improve your app faster. Sometimes, that's exactly what you need, move faster and smarter.
Top comments (1)
this is a cool feature . thanks for sharing !!