Are there instances where using the "Switch Processes" is too cumbersome for your users to change Business Process Flows? Well, there are several ways to get this updated, and today's blog will show you a way to update it using a workflow. This will take on the same type of action on workflow conditions, where a condition is required for this to run.
Let's take a look at the Out-Of-The-Box Opportunity Sales Business Process Flow:
We have a secondary Business Process Flow we would much rather use than the one above "Opportunity Sales Process" but we want to achieve this based off of a field value on the Opportunity form. How would one come about doing this?
Let's lay out the conditions first – On the Opportunity Record, if the field "Purchase Process" equals "Committee" then change the Business Process Flow to the one I have created, which is titled "NEW Opportunity Process."
Now, onto building this out…
First, create a new workflow that runs off of the Opportunity entity and create the conditions on when this workflow needs to run:

The example is when the Purchase Process on the Opportunity record equals Committee.
In the row below, select the row, and then select "add step":

Then in the dropdown, select "Perform Action":

When selecting "Performing Action," an action condition will display:

In the Action dropdown, select "SetProcess" – this MUST be selected in order for a Business Process Flow Action can be taken in a workflow.
Then in the Entity dropdown, it will automatically default to "None (global)" – this is NORMAL. Once "Set Properties" is selected, then this window will be where the entity and Business Process Flow will be identified:
In the Set Properties window, there are two values that need to be identified:
- NewProcess – this will identify which Business Process Flow will be updated based upon the Workflow conditions that were set up
- Target – this is the Entity that will be affected with the Business Process Flow
Remembering the example above, a business process flow of "NEW Opportunity Process" is needed, and the Target is the Opportunity Record:

Once that information is filled out, save and close. Now, on the Opportunity record, if Purchase Process = Committee, then the Business Process Flow will update to the "NEW Opportunity Process":

It is simple as that! A workflow now can change a record's Business Process Flow.
To learn more about Business Process Flows, check out, How to Update Business Process Flows in Bulk with Dynamics 365.
Happy CRM'ing!
Can we mark the business process status as “Finished” through programmatically ?
I tried this approach, but in case of an asynchronous workflow, the BPF change is not reflecting. However, if i use a Synchronous workflow, the change is working fine.
Just to point out, I was trying the switch on the qualification of a lead, instead of the scenario mentioned in the post
My Workflow is getting Completed, however my BPF is not getting changed/switched. It still shows the set Process on the record
Hi Kieran, Thanks for your blog. I am attempting to complete this but I dont see the action "Set Process"
Is this action something that needs to be created prior to turning on this workflow? If yes, would you have screenshot of how to set up this action step?