Inogic is a hub of like minded professionals who believe that innovativeness is the key for providing the most optimum solutions in the SME segment.We are committed to putting our time and efforts to Research and Develop on Dynamics CRM so that you can be benefited by the cutting edge methodologies. We endeavor to share some of our work on this blog by introducing Tips, Tricks and products from our labs.
The December 2012 Update of Microsoft Dynamic CRM Online introduced Business Process Flow for the OOB Lead, Opportunity and Case entities. With CRM 2013 Microsoft has extended this feature further and allowed creating of business process flows for any entity including custom entities.
Enabling Business Process Flow for an entity:
The first step to creating a process flow for an entity requires enabling the Business Process Flow for the entity. This can be done by checking the option for Business Process Flows on the Entity definition form
Enabling this option on an entity would add two new fields called Process Id and Stage Id. Process Id holds the id of the process associated with that record and Stage Id stores the id of the current stage of the record in the process.
Creating Business Process Flow:
Business Process Flow has been included as a part of the Processes and these can be managed from the Processes section of CRM. Now when creating a new Process, you find a new Category option Business Process Flow which should be selected for designing a new Business Process.
Choose the primary entity for which the process needs to be designed.
Next add Stages and Steps in the Process flow.
You can add multiple stages in the Process flow and each stage can have multiple steps. You can use the Required field to ensure that one can move to the next stage only if the required step is completed. Here is an example of an existing process flow provided for Phone to Case
Apart from adding Stages and Steps for a single entity. You can also design the process to include multiple entities like the Lead to Opportunity Sales Process. Using the +/- options next to the primary entity you can go ahead and include another entity and make sure the next steps and stages are based on the other entity selected.
Just like we can design role based forms in CRM, the Business Process flows also provide the option of designing different processes for different kinds of users. You can assign roles to the Processes using the Enable Security Roles option
You are allowed to create multiple processes per entity and therefore you do have an option to switch the process for a record mid-way. You can start using a particular process for a record and then if you would like switch the record to another process if you find that more appropriate for the record. To switch process you should have access to that process through security roles.
You can change process using the option called “Switch Process” in the ribbon menu as highlighted below.
As soon as you click this button below window will appear and list all the business processes created for that entity.
You can select the process to which you would like to switch and the page will get refreshed with the new selected process flow.
With the Business Process flows now open for designing by end users, we can now truly welcome Process-Driven UI for Dynamics CRM.
Posted by: Inogic
For more information/discussions (documents, sample code snippets, detailed work flow or diagrams)
Please be free to visit the following links or email us:
I would like to say that I really like this new approach to handling the current step of a business process, but I am having an issue with the CRM 2013 implementation, it is not working as I would expect.
First off, the 2013 process appears to utilize the following fields:
- Process Stage
- Pipeline Phase
The UR12 implementation of this functionality utilized the Sales Stage field, but it appears that this is no longer the case. So if you had workflows that fed off of this field they are no longer viable. At least this appears to be the case.
Secondly, the concept of the Business Process Flow allows you to control the look and feel of the steps in the process form, but the ability to report the current step appears to be lacking. My example focuses on the Opportunity entity, which is where I am having my issue. In this entity there is a field labeled Pipeline Phase, this is a text field that appears to be updated by OOB code. The OOB values that are placed in the Pipeline Phase field appear to come from the Opportunity Sales Stage option set, which is not editable so I am unsure how these can be changed to match a business process. If I were to go and change the Opportunity Sales Process, which controls the look and feel of the steps in the opportunity process form, I do not see the changes reflected in the values that populate the Pipeline Phase field and this makes for issues with reporting this current step information to my users. For example, if I change step one from 'Qualify' to 'Started' when I look at the Pipeline Phase field for new opportunities I still see 'Qualify'. If I were to add a new step to the process, say 'Revisited' when I move my opportunity to that step, I do not see this step reflected in the Pipeline Phase of the opportunity, in fact, I do not see it reflected anywhere other than in the Process Stage field and this value appears as a GUID.
With the issue indicated above, how does one go about setting up workflows that set custom fields based on the current step of the opportunity? I cannot use the Pipeline Phase because it does not properly reflect any changes I have made in the Business Process Rule. I cannot use Sales Stage, which was the suggested approach after UR12 and the introduction of the process form, as it appears that this field is not longer used. I cannot use the Process Stage field as it is a GUID and the Workflows will not make use of this field. If anyone has any suggestions, please let me know as I have investigated everything I can think of and am not sure how to ensure that my workflows will keep all of my other field in sync.
As seems to always happen, you post a question only to turn around and find the answer. So, the missing piece to my issue was the 'Stage Category' value in the Business Process Flow. This fields value options is controlled by the 'Stage Category' option set and this option set can be modified by the user. So what I had to do in order to ensure that the Pipeline Phase value properly reflected the current step of the opportunity, was to make sure that the option set contained a value that properly reflected the step then go into the Business Process Flow and set the 'Stage Category' to the appropriate value. Then when I advance the opportunity to the new step the Pipeline Phase field shows the appropriate value and the code associated with it. Now I am still seeing an issue with this new approach as all workflows will need to be built around the Pipeline Phase text field, which means that any tests in the workflow will need to test for characters that are not directly associated with the option set. As a result if someone changes the description in the option set the test in the workflow will not be updated to match the change unless someone does the change manually. It sure would be nice if Microsoft would have kept utilizing the Sales Stage attribute, or a generic attribute that could be added to all entities that use a process flow, have this attribute tied to the stage Category option set, and have the flows current state be reflected in this attribute. That was you can create a workflow that is tied to a defined set of values whose descriptions will change as the option set's descriptions change.
Other Microsoft Sites
I'm a Customer
I'm a Partner
Follow Microsoft Dynamics