Multi-Entity Business Process Flows in Microsoft Dataverse
Business Process Flows (BPFs) in Microsoft Dataverse are a powerful feature that guide users through defined stages and steps to ensure data consistency, improve productivity, and enforce compliance with business logic. While many BPFs are designed to operate on a single entity (table), complex business scenarios often span multiple related entities. That’s where Multi-Entity Business Process Flows come into play.
These advanced BPFs allow organizations to orchestrate business logic across multiple data entities, supporting more complex workflows such as sales pipelines, service management, onboarding processes, and case resolution.
What is a Business Process Flow?
A Business Process Flow (BPF) provides a visual guide that walks users through business processes in structured steps. BPFs are available in model-driven apps built on Dataverse and help standardize how data is entered and processed.
Each process is made up of:
- Stages: Represent key phases in a process (e.g., Qualify, Propose, Close).
- Steps: Fields within a stage that must be completed before moving forward.
What is a Multi-Entity Business Process Flow?
A Multi-Entity Business Process Flow (also called Cross-Entity BPF) is a process that transitions across more than one table (entity). Instead of being tied to a single table, it can progress through different stages associated with different tables.
For example, in a sales scenario, a BPF might begin on the Lead table, then move to Opportunity, and finally to Quote or Order. This supports real-world processes where records evolve over time and across entities.
Key Concepts of Multi-Entity BPFs
1. Entity Transitions
Each stage of a BPF is tied to a specific table. A multi-entity BPF transitions from one table to another as the user progresses through the process.
Example:
- Stage 1: Lead (Lead Qualification)
- Stage 2–4: Opportunity (Needs Analysis, Proposal)
- Stage 5: Quote (Approval)
2. Process Instance Record
When a BPF is started, a process instance is created. This is stored in the ProcessInstance
table (a special system table) and links to each involved entity record.
3. Lookups and Record Creation
When transitioning between entities, the BPF requires lookups between the tables. If a related record (like an Opportunity) does not exist, the user may be prompted to create it as part of the flow.
Use Cases for Multi-Entity BPFs
✅ Sales Lifecycle
Move from Lead → Opportunity → Quote → Order as the sales deal progresses.
✅ Customer Service Escalation
Start with a Case, escalate to a Work Order, and finalize with a Resolution Record.
✅ Employee Onboarding
Start from a Candidate record, convert to Employee, and move to HR Setup.
✅ Loan Approval
Start with a Loan Application, transition to Underwriting, then to Loan Disbursement.
How to Create a Multi-Entity Business Process Flow
Step 1: Go to Power Apps Maker Portal
Navigate to Solutions → Choose a solution → Click + New → Select Business Process Flow.
Step 2: Choose Initial Table
Select the starting table (e.g., Lead), and name your BPF.
Step 3: Add Stages and Transitions
- Add multiple stages, and assign each one to a different table.
- Use + Add Table to add other entities like Opportunity, Quote, etc.
- Each table transition requires a lookup to relate the tables (e.g., Lead → Opportunity via “Originating Lead”).
Step 4: Configure Fields and Steps
Each stage can include steps (fields) that the user must complete before proceeding.
Step 5: Set Conditions (Optional)
You can define branching logic to dynamically change the path based on field values.
Step 6: Activate the BPF
Once done, validate and activate the BPF so it’s available in model-driven apps.
Tips and Best Practices
✅ Use Consistent Lookup Fields
Ensure that related tables have appropriate lookup relationships set up before creating the BPF.
✅ Simplify for the User
Don’t overload each stage with too many steps. Keep the interface clean and logical.
✅ Handle Permissions
Make sure users have access to all entities involved in the BPF, or they may experience access errors.
✅ Test Transitions
Test how data flows from one table to another, especially when creating or auto-generating related records.
✅ Use Business Rules
Complement BPFs with business rules and Power Automate flows to handle automation, validations, or notifications.
Security and Data Integrity
Multi-entity BPFs must respect Dataverse’s security model:
- Users need Create, Read, and Write privileges on each involved table.
- Role-based security may limit who can transition to certain stages.
- Audit logs can be used to track who moved a process to a new stage and when.
Benefits of Multi-Entity BPFs
Streamlined User Experience
Guide users through complex processes without jumping between disconnected records.
Consistency Across Records
Ensure data is collected in a standard, predictable way—even across different tables.
Improved Reporting
Track process performance and bottlenecks using Power BI or Dataverse analytics.
Lifecycle Support
Supports processes where a single lifecycle spans multiple tables/entities.
Limitations and Considerations
Not Supported in Canvas Apps
BPFs, including multi-entity ones, are only available in model-driven apps.
Complex Logic Can Get Confusing
If your BPF branches heavily or spans too many tables, it may be hard to manage and troubleshoot.
No Native Looping
BPFs are linear and can’t loop back to earlier stages without manual intervention or external automation.
Reporting on Business Process Flows
You can report on BPFs by:
- Querying the
processstage
andworkflow
tables in Dataverse - Using Power BI to analyze:
- Average time in each stage
- Drop-off points
- Stage completion rates
This can help identify inefficiencies in the process.
Real-World Example: Customer Onboarding Flow
Let’s say a bank wants to build an onboarding process that spans multiple departments:
Stage | Table | Description |
---|---|---|
1. Application Received | Application | Customer submits a new application. |
2. Credit Check | CreditAssessment | Credit team performs validation. |
3. Account Setup | CustomerAccount | System creates the customer account. |
4. Welcome Call | Task | A task is created for the welcome call. |
This requires relationships between Application → CreditAssessment → CustomerAccount
, and the BPF ties them together, helping each team see where the customer is in the process.
When to Use Multi-Entity BPFs
Use Multi-Entity Business Process Flows when:
- Your business process spans multiple entities.
- You want to guide users step-by-step through a lifecycle.
- You need to track process progress across tables.
- Manual task switching between tables slows users down.
Avoid them when:
- You’re working in Canvas apps only.
- You need recursive or looping logic.
- You’re handling simple workflows that don’t require multiple entities.