The use of business process flows in Microsoft Dynamics CRM 2013 (MSCRM) and onwards has provided an ease in visualizing the flow of CRM’s various out-of-the-box business processes such as case management. This also led to opportunity conversion, as well as the ability to create custom process that can transition between various custom entities seamlessly, and do so in a structured approach. Each step that is created can be configured to set specific conditions that need to be met in order to cater to the client’s daily routines. This makes the user interaction experience very visual and easy to follow.

Dynamics CRM Business Process flows

I was recently put on a MSCRM 2013 project, which involved the use of business process flows. I came across a couple of guidelines when deciding to design, implement and configure this type of functionality. As I assume, you (a CRM enthusiast) are already familiar with the basic gist of business process flows, so I won’t go into extra details of the advantages. Any official Microsoft site can provide a nice snippet of the general features.

2 Important Factors for Consideration

Apart from the understanding of your target user base, when deciding on using business process flows, it is important to figure out whether your client’s business process is very streamlined and simple.

  • Streamlined: Business process flows follow a somewhat linear format.  This means users can only advance in a predefined manner – in most scenarios, one stage at a time. Luckily, this is somewhat better in MSCRM 2015 as there are conditional branching paths that can be done to allow different stages to be shown based on setting a specific value on the entity (AND and OR criteria are not interchangeable).
  • Simple: Making the required fields for each stage as out of the box as possible, therefore making it less complex. There is no way of customizing fields in other business stages via JavaScript other than the current active stage, so users can easily click on another stage and populate the relevant fields. This isn’t a bad aspect per se. However, it does limit the ability to perform complex scenarios which involve the use of various conditions based on fields. As an example, if I wanted to hide a field on the form for later use, it will still be shown in another inactive stage which the user can click.

Designing Business Process Flows

I have come up with a couple of tips and considerations that may be of some use when designing and implementing business process flows.

  • Keep the process and field layout as simple as possible, especially for branching paths.
  • Don’t include fields, such as multi-line texts, which have a lot of text input required. Filling them in will be difficult for the user due to the lack of form real estate.
  • The next stage/previous stage buttons are basically the triggers of an UPDATE on the “stageid” (this dictates the stage with a specific GUID). You can use it to provide some automation programmatically and skip stages based on certain criteria or by triggering another action or plugin.
  • You can also try out this solution to automatically set the stages and business process (for conditional formatting as well) via real-time workflow implementation.

Dynamics CRM Business Process flows 2

To summarize, business process flows provide a great visual approach of tracking various milestone stages within a business process. Just make sure that the process is relatively simple, and that it clearly states what criteria is required to complete each stage. Overcomplicating things will usually lead to issues in later stages, especially in the development and testing phase.