Model business process flows
Applies To: Dynamics CRM 2013
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.
In This Topic
What a business process flow does and how you can benefit from it
Example of a business process flow that uses multiple stages and entities
Implement business process flow in code
Maximum number of processes, stages, and steps
Additional information
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.
Note
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.
Note
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.
Important
Enabling an entity for business process flow is a one way process. You can’t reverse it.
Note
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) |
ProcessRoleAssignment |
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) |
ProcessOrder |
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 |
ProcessId |
The ID of the business process flow in which the entity record participates. |
GUID |
Entity enabled for business process flow |
StageId |
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. |
GUID |
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.
Additional information
You can find more information about business process flows in the Customer Center. Search for the following articles: “Create a new business process”, “Assign a security role to a business process”, “Guide staff through common tasks with processes” and “Add ready-to-use business processes”.
You can also find information about business process flows in the Administration guide, in the “Guide users with business process flows” topic.
See Also
Workflow categories
Write workflows to automate business processes
Create real-time workflows
Process Enablement with Microsoft Dynamics CRM 2013