Branching Business Process Flows in CRM 2015
Business Process Flows were first introduced in Dynamics CRM 2013 as a new feature. With the release of Dynamics CRM 2015, this feature has been enhanced further to allow more complex and rich Business Processes.
Business process flows define a set of steps (2) divided in stages (1) for you to follow which leads you to a desired outcome. These steps provide a visual indicator that shows you where you are in the defined business process. For instance, you could be guided through the Lead to Opportunity sales process using Business Process Flows.
In Dynamics CRM 2013, the experience for Business Process Flow was unique to only Business Process flows. The UI gave a graphical view of what the process may look like but it required additional navigation to build the entire process.
The experience in Dynamics CRM 2015 has changed a bit. The UI now follows the same as Business Process rules giving you, as a System Customizer, the ability to create a Business Process Flow in a single edit experience. The stage and step configuration, branching rules and the selection for entity relationships are all done on the same Business Process edit window.
In CRM 2013, Business Process Flows were very linear. You waited until each stage was completed and then you were able to move on to the next stage.
With CRM 2015, it is now possible to have Business Process Flows change the next stage or future stages with your input from the current stage.
This allows Business Process Flows to be more relevant based on the details you has input. These changes are done in real-time so it allows you to get instant feedback on the data you've entered within the Business Process. This is done by rule branching and merging. To branch a Business Process, you can now use If/Else If/Else conditions for Business Rules Logic that was enhanced with CRM 2015.
In the screen shot below a new stage "Incubate" (3) is inserted after the "Qualify" stage if (2) the step "Purchase Timeframe" (1) in the "Qualify" stage is set to the value "This Year".
The condition is defined in a UI similar to the Business Rules UI
So when working the "Lead to Opportunity" process, if I pick "This Year" in the "Purchase Timeframe" step...
....a new stage "Incubation" is inserted after the "Qualify" stage and before the "Develop" stage
Previously in CRM 2013, you could only loop back to the primary entity once. This limited the flexibility for a process to work with other entities and then loop back to the primary entity multiple times. Within CRM 2015, a Business Process can go into and out of the entity loop as many times as it is necessary.
You can now choose any entity to be a part of the Business Process. There is one limitation here. The entity must be enabled for Business Process Flows (1)
Not all out of the box entities can have this option enabled. However, all custom entities can.
Unlike CRM 2013, there is no longer a limitation for Business Process flow steps to only be able to use entities that contain a 1:N relationship with the associated entity. Nor do you even need to define a relationship when defining other entities within a stage.
Other Limitations
- A branch can only go five levels deep. The UI will still show the Add branch button but clicking it will not add another branch
- The conditional statements, (if/else if), can only use fields defined in the previous stage. Even though the editor shows all of the fields as being available, the field within the condition statement is required. If a field being used in a condition that is not defined in the previous stage, you get an error icon next to the problematic statement upon saving the Business Process.
- Just like with Business Rules Logic, conditions cannot use a mix of AND or OR logical operators. When defining the second and/or statement and flipping the operator to the opposite operator, the editor will cause all and/or operators to change to the one that was just defined.
I hope you'll enjoy this new capability and build yourself rich and powerful processes that will help you get the desired outcome.