Business Process Flows (BPF) have been around for a while now. BPF aid user adoption by guiding the users through the process that need to be followed at each step of the sales stage. You can add various stages in the business process flow to indicate the stage at which this record take for example an opportunity is currently in. This helps with managing the sales pipeline and sales funnel. You can add various key fields that you want should be completed at each stage of the process before the user moves the opportunity to the next process stage. Some of the fields could be optional, while you may want certain data to stage gate the process flow, i.e., a user cannot move the business process flow to the next stage until this data is provided.
In Dynamics 365, you can add any data type of fields as steps within a BPF. In OOB BPF that come shipped along, you notice that they do have Boolean or two-option fields like “Identify Decision Maker” added. In this case, the values displayed are usually “Mark Complete” and “Completed” to indicate whether the decision makers of this opportunity have been identified. You are not allowed to move to the next stage in the BPF unless you mark this field as “Completed”.
What if the response to a two-option field is “No” or in the Negative?
We had a case, where the user wanted a Boolean field added to the BPF step and used for stage gating. The difference here being that No or negative was a valid value as opposed to the OOB options that we see in the BPF where “Completed” is the only valid value allowed.
Even though the value was No for this field, it would not allow us to move to the next step as can been seen in the below screenshot
The workaround here is to instead create this as an option-set field, with Yes and No as the two options available.
No – 0
Yes – 1
Now place this field on the BPF, we noticed it would still not let you move forward if you selected “No”.
We then changed the labels to “Cold” and “Too Hot to handle”. Now choose “Cold”, and you will be allowed to move forward to the next stage.
Looks like it blocks if the label is “No” or the optionset value of the selected option is 0, it needs a non-zero number or a label other than No to be accepted as a value.
Two-options can be added to the BPF for stage-gating only when the only value acceptable for moving ahead would be “Yes”. For scenarios where both positive and negative are acceptable values, you will need to move this to an option-set field instead.