If you haven’t tried vibe coding yet, I hope this blog convinces you to at least give it a shot. We’ll go step by step through the experience of building an app from scratch using vibe.powerapps.com, from the first prompt to the connection with D365 Finance: what vibe coding is, how the platform works, a real example with videos, tips to iterate better and what role the functional profile plays when AI reaches its limit.
Spoiler: you’ll want to try it before you finish reading 😄
🌱 WHAT IS VIBE CODING?
Vibe coding is a way of developing where you describe what you need in natural language and the AI builds it.
You don’t define the logic of each functionality, you don’t write the code, you don’t create the tables, fields or their relationships, and you don’t debug. You just describe your idea, the requirement, how it’s used. If something fails or you need a change, you describe it in the next message and ask it to fix it.
For me, what makes vibe coding interesting is not just the speed of building applications, but the change of role it proposes. Technical knowledge takes a back seat (don’t worry, we’ll get into that a little further down in the blog) what matters is understanding the process and knowing what you want to build.
This opens a door (to an enormous universe) to functional profiles, consultants, business analysts… people who understand processes but who until now depended on a developer to bring them to life.
🌱 WHAT IS VIBE.POWERAPPS.COM?
Microsoft integrated vibe coding directly into Power Apps, with an experience available at vibe.powerapps.com. It’s a native AI platform where you describe the application you need to build in natural language, and the AI generates the plan, the data model and the complete prototype in a single integrated workspace.
From there you iterate via chat or conversational message: you request changes in any of the components (for functionality or for errors) and the agent applies them consistently across the entire solution.
One important detail: while you’re in the design phase, the tables live in memory and are not published to Dataverse or any data source until you decide to do so. This allows you to adjust the data model freely before committing to the final structure.
🌱 READY TO START?
First, let’s think about what application we need. For example:
Application to manage organizational budget approval.
It should propose the budget for each department manager based on a 5-year historical data from Dynamics 365 F&O, AI-based suggestions, and then an approval workflow with a configurable tolerance margin per category.
There are two roles: the department manager who submits the budget for approval, and the approver who reviews and approves it.
Professional, feminine look and feel, in shades of purple with tracking charts.
Language: English
Describing the idea is just the starting point. But ideally you want an initial prompt with eeeeverything you need. We’re keeping it short here to have a little more fun in the blog 😉
Before vibe builds the application, there are two features that make an important difference:
🌿The enhance prompt button, which enriches your description with technical context without you needing to know what to add.
🌿And Plan mode, which first generates a structured plan with the requirements, scenarios, data entities and application design, so you can review and adjust it before building the app.
From Plan mode you can keep refining with AI assistance: change requirements, add roles, adjust the data model. And if you have reference documentation: an email, a Word document with specifications, a screenshot .. you can attach it directly so the AI has more context.
You can also use your voice if you prefer to describe your idea by speaking instead of typing. We wait a little and in a few minutes the prototype is ready.
This vibe experience has three components you can review and adjust independently.
🌿Plan, as we saw, is the functional design document of the application. Every time you modify a requirement or a functionality from the chat, the plan updates automatically to reflect the current state of the solution. It serves as our guide throughout the development process.
🌿In Data you can see the data model the AI generated: the tables, the fields that make them up (including automatic key assignment) and the relationships between them. One important detail: the tables live in memory as Draft until you publish the app, at which point they are created in Dataverse.
From this view you can also make manual changes: modify relationships, create new tables or add tables that already exist in Dataverse.
If you want to see the data each table contains, you can access the data view directly from there.
Always remember that the idea of using this application is to make these modifications through the conversational chat.
In the App section is where you see the interface of the application we’re building.
From here you can interact directly with the preview: navigate between screens, test buttons, see how it responds, to validate that the behavior is what you expected before publishing.
You have three ways to view it:
🌿Preview: the live application view. You can change the screen size to see how it looks on desktop, tablet or mobile.
🌿Code: shows the code generated by the AI, organized in folders and files inside the src folder. It’s useful for understanding how the application is built, although for now you can’t edit the code directly from this view, changes are still made through the chat.
🌿Split: shows the code and the preview side by side, ideal for understanding which part of the code corresponds to which part of the interface.

We’ve made it this far and all that’s left is to test!
🌱 HOW DO WE VIBE CODE?
There are two ways to interact from the chat:
🌿The first is to write directly what you need: if something doesn’t work as expected, describe it as you saw it. For example: «when I try to approve a budget the comment doesn’t save» and the agent analyzes the problem and applies the fix.
🌿The second is to use the suggestions that appear above the chat: vibe automatically generates a list of relevant next steps based on the current state of the application, to guide you on what to iterate without having to think about what to ask.
🌿You can also use inline edit: click directly on an element of the interface and leave a comment right there, which gives the AI the exact context of what part you want to modify.
🌱 HOW DO WE CONNECT THE APPLICATION WITH Dynamics 365 F&O?
We can always ask the vibe chat directly. In the meantime, here are two options:
🌿Adding Dataverse tables
The first option is to add a Dataverse table that points directly to F&O data.
In my case, I used virtual tables: F&O entities that are exposed as virtual tables in Dataverse, without the data being copied or moved… it keeps living in F&O, but is accessible from Power Platform with full create, read, update and delete operations.
In my experience with this application, this was the most challenging part… the AI doesn’t always understand the instruction through chat and I ended up configuring the connection manually from the data editor, and then explained what information I wanted to pull from there and why.


🌿Power Platform as a bridge
The second option is to use Power Automate leveraging the native Power Platform authentications. Vibe itself can help you generate the JSON with the data structure you need to send from F&O, and from that JSON you can build a flow in Power Automate that, in our case for example, creates the budget register entries with the data from our new application and sends them to F&O.
If you don’t know where to start with Power Automate, you can ask the chat directly: have it explain step by step how to set it up, which connector to use and why you’re doing each step.
And here’s the key point: for either of these two options to work, you need to know what data to bring and from which tables. You need to understand the F&O data model, what entities exist, how they relate, which is the budget register table, what fields are relevant. That knowledge is something you need to validate yourself. That’s exactly where the functional profile makes the difference.

🌱 CONCLUSIONS
To close, it’s worth reflecting on how far vibe coding goes and where teamwork begins.
Before thinking about production, there are two conversations I believe can’t be skipped:
one with a technical architect who reviews the integrity of the data model, the relationships between tables, validates the code and how information flows between systems;
and one with someone from security who validates that the roles are well defined, that the access rights are correct and that no sensitive data is exposed.
📎 The link to the learns doc: https://learn.microsoft.com/en-us/power-apps/vibe/overview
I hope you give it a try, because it really makes a difference. See you in the next one ☺️