Microsoft Dynamics CRM 2015 adds a new feature to Business Process Flows that were introduced in Dynamics CRM 2013, which now allows us to branch the process in a different direction based on some condition. Similar to in a workflow or dialog where we might have several different paths that can be taken based on the type of record etc.
In Dynamics CRM 2013 business process flows only had 1 branch that they could follow. If you wanted multiple branches you’d need to create multiple process flows and have the user switch between them. This has become much easier now, as we can simply select to add a branch into the process.
When we click to add a branch, we are able to specify a condition which would take a user down this branch.
We can also add additional Add/Or conditions to this branch by clicking the ‘plus’ button just below the condition. For example we could do: Industry = Accounting AND No. of Employees > 100.
At the time of writing this blog (which is based on the beta release) it seems like we can only specify one type of grouping for each branch, e.g. ‘this OR this OR this’, or ‘this AND this AND this’, but not this AND this OR this. If we have 3 or more conditions and change one of them from AND to OR or vice versa it will change all the other conditions for this branch as well.
Once the condition is created, we can add a stage within the branch by clicking ‘Insert Stage’ below the condition.
We can add additional branches to our existing branch by clicking ‘Add branch’ above the entire condition (the same way we added the first branch), which will by default add an ‘Else’ condition, meaning if the first branch’s condition isn’t met it will always fall back onto the ‘Else’ branch. We can also convert the ‘Else’ to an ‘Else If’ which allows us to specify another condition if the first condition isn’t met. We can add as many ‘Else If’ conditions as we need to which will create multiple possible branches from the same point.
Once we’ve completed our process flow with branches it’s time to test it out. The process flow I’ve created runs on Account, and has 2 branches. It starts with identifying the industry, number of employees, and annual revenue. Depending on these values, the process should either go into the ‘Develop’ and ‘Propose’ stages, or into the ‘Research’ stage.
When we create a new Account, since there are no values entered yet, the process is shown with the Research stage.
If we enter in some values the process flow will update automatically.
When we go to the ‘Next Stage’, we will be moved down the branch that meets our conditions. Once moved into the next stage, changing the values that took us down this branch will not change the process. For example, once in the Develop phase, if the Annual Revenue is changed we will remain on the current branch.