Export (0) Print
Expand All

Model business process flows

Applies To: CRM 2015 on-prem, CRM Online

A business process flow lets you create more efficient and streamlined sales, service, and other business processes. Having high performing processes in place will help you to increase your win rates, improve customer satisfaction, and grow your revenue.

A business process flow creates a visualization of your business process by placing special controls at the top of the entity forms. Users are guided through various stages of sales, marketing, or service processes towards completion. Each process supports multiple stages and steps. You can add or remove steps, change the order of stages, or add new entities to the business process flow.

Video: Business Process in Microsoft Dynamics CRM 2015

What a business process flow does and how you can benefit from it

  • A business process flow guides you through various stages in the business process, from start to finish. Each stage contains predefined, logically connected steps. Your paradigm changes from form-centric to processes-centric. You no longer need to remember all the forms you have to use and in which order. The process flow will tell you where you are in the process, where you came from, and what to do next. You are able to continuously monitor your own progress.

  • The process flow assures accuracy and efficiency. It keeps you on track and won’t let you deviate from your task. The steps inside a stage don’t have to be completed in a specific order, but, you must complete all required steps in a stage before you can proceed to the next stage.

    Not all steps in the stage are marked as required. The steps that aren’t required can be skipped. There is no programmatic way to mark a step as required. You do that in the user interface (UI), when you create or edit the business process flow.

  • You can create multiple process flows for an entity. For example, you can create a process flow for a large order of computers and a different process for a small order.

  • A process flow is portable. You can export and import a process flow as a solution.

  • You can design a process flow for one entity type, or span the process over multiple entities, such as lead, account and contact entities.

  • In the multi-record process flow, you can close with any entity that participates in the process. For example, you can begin with an opportunity, then move to a quote, then move to an order, and then finally close at the last stage with winning the opportunity.

  • A process flow is highly customizable. You can easily add or remove stages, steps, or entities.

  • A process flow help to conform to your organization’s security policies. You choose specific security roles for the process flow. Only users that have these security roles are able to switch the process for the record or associate the process with the record.

  • You can switch a process for a record or associate a process with a new record. For example, you have an opportunity to sell a small number of medical supplies. You choose the “Small Opportunity” process flow for your opportunity. However, later you learn that this opportunity has a potential to become a much larger order. You can easily switch to a “Large Opportunity” process flow.

    The process flow always starts at the beginning, when you switch to another process.

  • Stage categories can be used to link stages across process flows for reporting purposes.

  • Process flows are available in the Microsoft Dynamics CRM web application and in Microsoft Dynamics CRM for tablets.

  • You can trigger an automatic workflow from the process flow (to run in the background), when a field value of a record participating in the process flow changes. For example, you can trigger a workflow to run if a zip code or a phone number for an account changes.

Example of a business process flow that uses multiple stages and entities

This example shows that you can easily switch sales processes, move across multiple records, from opportunity to case and back to opportunity. It also shows that you can include an approval process in the business process flow.

Your company sells Internet services for home and business. A typical team includes a sales representative, a sales manager, and a field technician. A sales rep works on sales opportunities that sell Internet services for both home and business.

Your system administrator defines two sales processes:

  • Internet services for home.

  • Internet services for business.

For business sales, a process for Internet services might consist of the following stages:

  • Develop a deal. The sales rep starts with developing a new opportunity. The rep fills out an opportunity form with all the necessary information for selling Internet services for home use. However, in the process, the rep realizes that it is a much bigger opportunity and decides to adjust the opportunity to sell to businesses. The sales rep switches the process flow from selling Internet services for home to selling Internet services for business.

  • Propose a deal. The sales rep submits the proposal to the sales manager for approval. The sales manager approves the proposal. The sales rep notifies the customer that proposal is approved.

  • Install the Internet service. The sales rep creates a case to track the installation and assigns it to the field technician. When installation is completed, the field technician notifies the sales representative. The sales representative closes the case as resolved.

  • Close a deal. The sales representative completes the form and closes the opportunity as won.

Implement business process flow in code

The business process flow is one of the categories of the workflow (process). Other process categories include action, workflow, and dialog. For more information, see Workflow categories. Several attributes support the business process flow functionality. Two attributes belong to the workflow (process) entity and other attributes, to any entity that participates in the process flow. Custom entities and entities that have updated UI forms can participate in the process flow. The updated UI entities have the IsAIRUpdated property set to true. To enable an entity for the business process flow, set the IsBusinessProcessEnabled property to true.

Enabling an entity for business process flow is a one way process. You can’t reverse it.

To view the entity metadata for your organization, install the Metadata Browser solution described in Browse the metadata for your organization. You can also view the metadata for an uncustomized organization in the Excel file called EntityMetadata.xlsx included in the top-level folder of the SDK download.

Before you can use the process flow, you have to activate it. To activate it, you must have the prvActivateBusinessProcessFlow privilege for the workflow (process) entity. Use the SetStateRequest message to set the state of the workflow (process) record to Activated.

The attributes supporting business process flow are listed in the following table.


Entity Attribute name Description Type

workflow (process)


Security roles that are assigned to this business process flow. Only users with these security roles are able to switch a process for the record or associate a process with a new record.

Multiple lines of text

workflow (process)


Order of business process flows for an entity. The specified order is used to display the business process flows in a list. Depending on their security roles, users may not see every business process flow in the list.

Whole number

Entity enabled for business process flow


The ID of the business process flow in which the entity record participates.


Entity enabled for business process flow


The ID of the stage in the business process flow to which the entity record is assigned. The stage consists of logically connected steps. The stages and steps are described in the Workflow.XAML attribute.


Entity enabled for business process flow


For internal use only. Updating this value is not supported.


Maximum number of processes, stages, and steps

Per entity, the default value for the maximum number of activated business process flows is 10. You can specify a different value by using the Organization.MaximumActiveBusinessProcessFlowsAllowedPerEntity attribute. However, if the value is greater than 10, you may see a decrease in your system’s performance when you switch processes or open a record that has an assigned business process flow. This may be especially noticeable if processes span multiple entities.

The following settings aren’t customizable:

  • The maximum number of stages per entity in the process is 30.

  • The maximum number of steps in each stage is 30.

  • The maximum number of entities that can participate in the process flow is 5.

Use client-side script to automate interaction with business process flows

With Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update there is a client-side object you can use to interact with business process flows in your form scripts. More information: Write scripts for business process flows

See Also

Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.
© 2015 Microsoft