Switch BPF in Dynamics 365 using JavaScript
In today’s blog, we will cover how to change the BPF using JavaScript in the unified interface when the form loads based on a custom field Lead Type on the Lead form. Let’s take a closer look!
Steps –
- In the example below, we have a new option set field called Lead Type with values of TAB Member and TBO. When the Lead Type has a value of TAB Member, update the business process flow to the TAB Member BPF and when the value is TBO, update the business process flow to TBO BPF.

2. Create two separate BPFs for the required entity. In this case, we created two separate BPFs for the Lead entity.
3. From each BPF, grab the record GUID using the console.
var currentBpfID = Xrm.Page.data.process.getActiveProcess().getId();

4. JavaScript Code-
var SwitchBPF ={
checkSwitchBPFbyType: function(executionContext)
{
//For example
// TAB Member 100000000 | Process Flow TAB Member : 65dd48aa-cf41-4f12-8523-7296097c8893
// TBO 100000001 | Process Flow TBO: 890f4df6-eb4f-413d-8936-f62aaa9b2798
var formContext = executionContext.getFormContext();
if(formContext.data.entity.getEntityName() == "lead")
{
if(formContext.data.process.getActiveProcess() != null)
{
//Check Type & BPF match as required
var currentBpfID = formContext.data.process.getActiveProcess().getId();
if(formContext.getAttribute("cf_leadtype"))
{
var leadType = formContext.getAttribute("cf_leadtype").getValue();
if(leadType == "100000000" && currentBpfID != "65dd48aa-cf41-4f12-8523-7296097c8893")
formContext.data.process.setActiveProcess("65dd48aa-cf41-4f12-8523-7296097c8893");
else if(leadType == "100000001" && currentBpfID != "890f4df6-eb4f-413d-8936-f62aaa9b2798")
formContext.data.process.setActiveProcess("890f4df6-eb4f-413d-8936-f62aaa9b2798");
}
}
}
Results –


Hope this helps!!
Related posts:
Advanced & Auto Bank Reconciliation in Dynamics 365 Finance
How to create and add/attach a custom activity-type entity to an existing entity in Dynamics 365 CRM
How to add an Entity and fields in Global Search On Dynamics 365 CRM
How to create a SharePoint site and enable Server-Based SharePoint Integration for Document Manageme...