I’ve had the pleasure of completing multiple upgrades to Microsoft Dynamics CRM 2013, and one of the most popular new features for our clients is Business Process Flow. BPF is a great way to see where you are in a process, and it gives users a helpful guide for what needs to happen to close a sale, resolve a case, or complete many other types of processes.
In the “process” of implementing BPF, I’ve seen many areas where process flows work great, but I’ve also seen some situations where certain configuration choices may not be optimal for Business Process Flow.
Benefits of business process flow
Provides visual indication of where we are in a process.
Gives users a guide to what should be done at each stage.
Works consistently across all interfaces, including tablet app.
Can provide actions that are required to complete before the process can be moved to next stage—good for things like approvals.
Can tie two or more entities in the same process together—for example, the Lead to Opportunity process flow connects a lead with its converted opportunity. Users can toggle between the lead and opportunity, making a previously disconnected process seamlessly connected. This is one of my favorite things about BPF.
Allows users to indicate what phase the record is “in” currently, while also looking ahead to see what needs to be done in future phases, or what was done in previous stages. This behavior may be confusing to some—they think “if I click the close stage, it should move to close stage.” However, I appreciate the design choice of having a definite action to move the phase ahead by hitting the next phase button, because it allows me to plan for what I need to do in the future without moving the current phase.
Limitations of business process flow
You cannot use javascript on fields that are not on the current/active stage. For example, if you want to conditionally hide a field with javascript based on the value of another field, you can only do that to fields on the “active” phase (the one with the flag). But users can click on one of the other phases and see all of the fields on the non active phases, and can populate those fields, circumventing your business logic. See the recommendations section of this post for an alternative approach to conditional hide/show/required logic.
You cannot filter lookup fields on process flow. If the same lookup field is on the form and has filtering applied to it, the filter will not apply to the field on the process flow. Do not include filtered lookups in Business Process Flow.
Users must advance the process flow one stage at a time. If you have a scenario where the stage can move 2 or more phases at a time, this means that users will have to push the next stage button multiple times. Also, if you have a workflow that fires on change of the process stage, and users click the next stage button multiple times, the workflow will run multiple times because the form is automatically saved each time the process stage is changed, even if auto save is disabled.
You can display the process stage name field in a view, but since the process stage is a separate entity, you cannot sort the view by that field. There is a text field called Pipeline Phase on the process enabled entity (like opportunity) that contains the process stage name with a number in front of it. You can use this field to sort the view. The numbers are chronological, so views and charts sorted by this field will be in the correct order. However, this field will not display in Outlook client views.
Recommendations:
Don’t include fields that require complex logic
Do include fields that indicate an action has been completed (review meeting complete).
Don’t include long text fields or so many fields that the business process flow takes over the whole form.
If you want to have conditional logic, like a phase that shows up only when the opportunity is a specific type, rather than using javascript, create two different process flows and switch them programmatically.
To programmatically switch the process and stage, use this fantastic workflow assembly. It makes it very easy to use a real time workflow to conditionally switch between different process flows.
Conclusion:
Business Process Flow is a great addition to Microsoft Dynamics CRM, and it provides a great looking way to track your progress through a business process. But remember, BPF is not the process—it is merely a visual indication of where you are in the process. When used correctly, it can enhance your user experience and give users a good understanding of what they need to do to finish a process. Just make sure you aren’t overcomplicating the process, don’t overload it with too many steps, and you take the time to plan it out before configuring the process flow.
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.