Business Process Flows in Model-driven Apps: Processes & BPF
A practical guide to business process flows, business rules, and Dataverse stage logic in model-driven apps — from stages and steps to branching, governance, and Application Lifecycle Management for business process flows.
Introduction to Business Process Flows in Model-driven Apps
Model-driven Apps are designed to deliver structured, data-driven user experiences on top of Dataverse. One of their most powerful features is the ability to define and manage business process flows directly inside the solution, leveraging tools like Business Process Flow (BPF), business rules, classic workflows, and Power Automate cloud flows. Together these elements turn a record's lifecycle into a guided, repeatable journey through clearly defined stages and steps, reducing manual errors and keeping data consistent from start to finish. Teams looking to position this work in a wider automation landscape can also review the Top Power Platform Tools for Business Automation, which lists the components that most often pair with business process flows.
Each process in a model-driven app is fully integrated with the data model and can be linked across multiple entities, combining client-side validation with server-side stage logic. The result is a single, coherent surface where users see business process flows as a guided ribbon at the top of the form while plug-ins, classic workflows, and cloud flows execute the heavier orchestration in the background.
Why business process flows matter for model-driven apps
Without a guided experience, a user filling in a Dataverse record has to remember which fields are mandatory at which point of the lifecycle, which approvals are required, and which downstream actions to trigger. Business process flows remove that burden: they make the path explicit, they make the data requirements explicit at each stage, and they make the hand-off between roles auditable from lead capture all the way to closure.
For makers, the value is also operational. Because business process flows are stored as solution components, they can be versioned, exported, imported, and promoted across development, test, and production environments using the same Application Lifecycle Management (ALM) tooling used for tables, columns, and security roles.
Business process flows vs. cloud flows vs. workflows
Three concepts are often confused in model-driven projects. Business process flows are interactive and visible to the user; they sit on the form and guide a record through stages. Cloud flows in Power Automate are background orchestrators triggered by events or schedules. Classic workflows are server-side actions historically used inside Dataverse for record-level logic. The three are complementary: a stage transition in a Business Process Flow can start a cloud flow, which in turn can write back to the record and advance the BPF.
What is a Business Process Flow (BPF)
A Business Process Flow is a visual guide that walks users through the various stages of a defined process. Unlike background tasks, business process flows are interactive: they appear as a ribbon at the top of the model-driven form, they highlight the active stage, and they require certain fields to be completed before the user can move on. This makes business process flows the most natural way to enforce a repeatable, end-to-end procedure inside model-driven apps.
A BPF consists of stages and steps. Each stage can contain several tasks, including manual data entry, automatic field population, or triggers that start cloud flows or traditional Dataverse classic workflows. Branching logic can be configured to handle different paths based on conditions, so a single Business Process Flow can model a sales pipeline that splits into direct and partner branches, or a service case that diverts into incident and request tracks.
Anatomy of a Business Process Flow: stages, steps, and data steps
Each stage of a Business Process Flow is bound to a Dataverse table and contains data steps, which reference the columns the user must populate. Steps can be marked as required, recommended, or optional. The model-driven app automatically prevents stage advancement if a required step is empty, giving the maker a no-code way to enforce data quality across business process flows.
Main capabilities of business process flows include:
- Visual guidance through each stage with customizable steps and required fields.
- Support for conditions and branching logic across business process flows.
- Integration with cloud flows, classic workflows, and Dataverse plug-ins.
- Ability to connect multiple entities within a single Business Process Flow.
- Reuse of business process flows as managed solution components across environments.
- Security-role scoping that controls who can see or run the process.
This structure supports complex scenarios such as sales, customer service, project management, or onboarding while keeping the day-to-day experience simple for end users. The same model-driven app can host multiple business process flows, and each Dataverse record can carry up to 10 active BPFs at any time.
Cross-entity business process flows
One of the strengths of business process flows is that a single flow can span multiple Dataverse tables. A typical example is a lead-to-opportunity-to-quote process: stage 1 sits on the Lead table, stage 2 moves to the Opportunity created from that lead, and stage 3 lands on the Quote. Users see a continuous ribbon, but behind the scenes the BPF runtime navigates the relationships and updates the right records. When records are also synchronized with ERP modules, see Dual-Write & ERP/CRM Integrations to align Dataverse updates with Finance and Supply Chain Management without interrupting the active business process flows.
Business Rules and Field-level Stage Logic
Business rules are the no-code companion of business process flows. They let makers implement validation and field logic without writing JavaScript. Business rules can run client-side (on the form) or server-side (on save), and they are commonly used to validate data, set default values, or prevent inconsistent entries before a Business Process Flow stage advances. For a deeper pairing of these two surfaces, the companion guide Dataverse: Business Rules & BPF walks through how each rule scope influences the active business process flows.
Key actions of business rules include:
- Setting default values for columns based on related records.
- Showing or hiding fields in business process flows depending on the active stage.
- Enabling or disabling controls for specific security roles.
- Displaying error or warning messages when data does not match the rule.
- Recommending values with one-click acceptance for the user.
When combined with business process flows, business rules create a coherent and controlled environment for data entry: the BPF defines the path, the business rules guard the columns along that path, and Dataverse logs the resulting state for auditing.
Choosing the right scope for a business rule
A business rule can be applied at the Entity level, to a specific form, or to All Forms. The entity level means the rule also runs server-side, which is the safer default for any check that must hold regardless of where the record was created. Form level is appropriate for purely cosmetic UI behavior — for instance, hiding a field that is only relevant inside a specific Business Process Flow stage.
Classic Workflows and Server-side Stage Logic
Classic workflows in Dataverse provide server-side execution for steps that do not require direct user interaction. They can be triggered by specific events such as record creation, field updates, or completion of a Business Process Flow stage. Although Dataverse projects are gradually shifting orchestration toward Power Automate, classic workflows remain important in many legacy implementations and continue to be a valid building block alongside business process flows.
Real-time vs. background workflows
Classic workflows can run in real time (synchronously, blocking the save) or in the background (asynchronously, queued by the Dataverse system job framework). Real-time workflows are useful when the result must be available before the user sees the saved record — for example, calculating a stage-level score that the next BPF stage depends on. Background workflows are preferable for non-urgent post-processing such as sending notifications.
Process Architecture in Dataverse
The Dataverse architecture integrates processes, rules, and stage logic into a unified model. Each table can be linked to multiple business process flows, and each record can have up to 10 active processes simultaneously. Processes are stored as solution components, which means they are first-class citizens of the maker portal and can be moved between environments through Application Lifecycle Management (ALM) pipelines just like tables, columns, and security roles. For deeper coverage of the synchronous and asynchronous communication patterns these flows rely on, see the Integration Patterns (RPC, Relay, Pub-Sub, Callback) in Power Platform reference.
Figure: Simplified diagram of a Business Process Flow with three main stages — lead capture, qualification, and closure — showing how a record advances along the guided path.
The Business Process Flow as a Dataverse table
Behind the scenes, every Business Process Flow definition generates a Dataverse table that stores the runtime state — the active stage, the active record, the time spent in each stage. Makers can query that table like any other, for example to build dashboards that show how long records sit in Qualification before reaching Closure. This makes business process flows not just a UX layer but also a measurable artifact for process analytics.
Solution layering for processes and rules
A common ALM pattern is to keep business process flows, business rules, and classic workflows in the same managed solution as the tables they depend on. This avoids cross-solution dependencies and lets the team ship a coherent slice of capability per release. The maker can also annotate the solution with a solution_uniquename publisher prefix to make components easier to track.
Configuration and Best Practices
To create a Business Process Flow, use the Power Apps Maker Portal. From there, you can define the entities involved, create stages, set conditions, and configure step-level actions. Recommended best practices for business process flows include:
- Limit the number of stages to those truly necessary — long ribbons confuse users.
- Use consistent and descriptive names for each step in your business process flows.
- Assign security roles to control who can view or modify a Business Process Flow.
- Test flows in sandbox environments before publishing them to production.
- Keep business process flows inside managed solutions for clean ALM.
- Wire stage-entry and stage-exit triggers to cloud flows instead of duplicating logic in JavaScript.
Business rules and business process flows should be maintained within managed solutions to ensure consistency and ease of deployment across environments. The example below shows how to declare a Business Process Flow as part of a solution component reference inside the solution.xml manifest used by the Power Platform CLI:
<RootComponent type="29" schemaName="esa_LeadToQuoteFlow" behavior="0" />
Component type 29 identifies a Business Process Flow inside the Dataverse solution model, while type 2 identifies a Dataverse table. Adding the RootComponent entry guarantees that the Business Process Flow and its underlying BPF table are exported together when the maker promotes the solution.
Naming conventions for business process flows
Adopt a publisher-prefix-plus-domain naming pattern such as esa_LeadToQuoteFlow or esa_CaseResolutionFlow. Predictable schema names make business process flows easier to find in the Maker Portal, easier to diff across environments, and easier to pick up for new team members joining mid-project.
Testing business process flows in sandbox
Before activating a Business Process Flow in production, exercise every branch in a sandbox environment with realistic data. Pay special attention to records that pre-date the new flow: when a BPF is published, existing records are not retroactively assigned to it, but newly created records will adopt it. Plan a one-off data-migration step if the team expects historical records to also follow the new business process flows. Functional consultants who want to certify their proficiency on these topics can use the PL-200 Study Plan as a structured warm-up.
Versioning and deprecation
When a Business Process Flow changes substantially, it is often safer to publish a new version side by side and let new records adopt it, rather than mutating the existing one. This protects in-flight records that are mid-process. Once the legacy business process flows are no longer needed, deactivate them through the Maker Portal so they no longer appear in the user's switch-process menu.
Integration with Power Automate, Plug-ins, and Teams
Business process flows can interact with other components such as Power Automate cloud flows or server-side plug-ins. For example, an action in one stage may trigger a cloud flow to update related records, post a card to a Teams channel, or send an Adaptive Card for approval. This synergy extends the orchestration capabilities of business process flows in a scalable manner without forcing the maker to write custom code.
Triggering a cloud flow on stage transitions
Power Automate exposes a Dataverse trigger that fires when the active stage of a Business Process Flow changes. The trigger payload includes the BPF instance ID, the previous stage, and the new stage, which is enough to fan out work to downstream systems. Because the trigger is event-based, it scales naturally with throughput and avoids the polling patterns that older integrations relied on.
When to drop down to a plug-in
If a piece of logic must run synchronously and atomically inside the same Dataverse transaction as the stage transition, a plug-in registered on the BPF table is the right tool. Plug-ins are appropriate for invariants that must hold even if the user is offline or the cloud flow is throttled — for example, blocking a stage transition unless an external compliance check confirms approval.
Surfacing business process flows in Teams
Model-driven apps can be embedded as a Teams app, which means the same business process flows are available inside the chat client without any extra configuration. Combined with Adaptive Cards posted by Power Automate, this lets a sales team move a deal from Qualification to Proposal directly from a Teams channel.
Governance and Maintenance
In enterprise contexts, process governance is critical. It is best practice to document all stage logic, define consistent naming conventions, and monitor process performance. The Power Platform Admin Center offers monitoring tools to analyze BPF usage and stage-level performance, helping admins decide when to redesign business process flows that show high stage-dwell times or frequent abandonment.
Security roles and process visibility
Each Business Process Flow has its own security record, separate from the underlying tables. Granting a user access to a table does not automatically grant access to the BPF defined on that table — the maker must enable the right privileges on the BPF security record itself. This separation is intentional: it lets organizations expose the same data through different business process flows for different roles.
Monitoring and analytics
The Power Platform Admin Center surfaces telemetry about business process flows: how many records are in each stage, the median time spent per stage, the distribution of stages where records get stuck. Pairing this with custom Power BI reports built on the BPF Dataverse table gives the team a feedback loop to keep tightening the process.
Documentation and maker notes
For larger projects, keep a running maker log that records why each Business Process Flow exists, who owns it, and which downstream systems depend on it. Treating business process flows as documented contracts — not just visual configuration — is what separates a maintainable model-driven deployment from one that ossifies after the original makers leave the team.
Conclusion
Processes and business process flows are the heart of orchestration in model-driven apps. They provide a combination of visual guidance, data control, and integration with Power Automate, plug-ins, Teams, and Power BI. Following best practices in configuration, ALM, and governance ensures a scalable, secure, and maintainable solution that grows together with the process it models.
Frequently Asked Questions on Business Process Flows
Can I have multiple Business Process Flows for the same entity?
Multiple business process flows per record
Yes, Dataverse allows up to 10 active BPFs per record. The user can select which process to follow based on operational context, switching between business process flows from the form ribbon when their security role grants access to more than one.
Do Business Process Flows replace classic workflows?
Business process flows vs. classic workflows
No, BPFs do not replace classic workflows. Business process flows are visual and guide the user, while classic workflows run in the background. Both can coexist and integrate, with the BPF often acting as the trigger that starts a classic workflow or a Power Automate cloud flow.
How can I debug a BPF?
Debugging business process flows
You can monitor BPF execution through the Power Platform Admin Center or internal tracking tools within the Maker Portal. For deeper inspection, query the Dataverse BPF table directly to see which stage each record is in and how long it has been there.
Can business process flows span multiple Dataverse tables?
Cross-table business process flows
Yes. A single Business Process Flow can move from one table to another along defined relationships, which is how lead-to-opportunity-to-quote scenarios are typically modeled in model-driven apps.
How do business process flows interact with Power Automate?
Power Automate triggers for business process flows
Power Automate provides Dataverse triggers that fire on BPF stage changes. This lets cloud flows react to business process flows without custom code, for example by sending notifications, updating related records, or branching to a different downstream path.