Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2020 release wave 1 Discover the latest updates and new features to Dynamics 365 planned through September 2020
Release overview guides and videos Release Plan | Preview 2020 Release Wave 1 Timeline
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
We have two BPFs for leads. The first is a marketing process to prequalify the lead. Once this is complete and the lead is assigned to sales, it should switch to a sales process. This worked fine in CRM 2016, but was broken when we upgraded to D365. The Sales BPF had to be created manually (which Sales people struggle with).
We have implemented a workflow that creates the new BPF at the correct time, so the issue is fixed for all leads going forward. However, there are many leads in the system that don't have the Sales Process active. I should be able to correct this by creating a one-off workflow to create the new BPFs. However, I cannot work out how to write the workflow filter to select all the records without the Sales BPF.
Does anyone have any ideas of how to structure an Advanced Find query to return all records that do not have a specific associated BPF?
In the Advanced Find editor, select Leads, then in the Select Filter, go down to the Related section, you should see stage Id (Process Stage), you may be able to filter by using the Process Stage Name there
Hope that helps
I tried that, and I think it would work if there were no other BPFs for the lead entity. Unfortunately, even if there is a Sales BPF active, this field can still return the marketing BPF stage name. I'm not sure what the logic is for this field if there are multiple BPFs open.
How about flipping the logic.
Remove all the filters in the Advanced Find and add the Process ID to the view columns. You should then be able to see the GUID of the BPF's, from there you can hopefully work out which one is the Lead BPF and which one is the Sales BPF. Then simply order the Advanced Find and bulk update the records
With the introduction of Concurrent Business Process Flows in Dynamics 365 I am not sure how you define the "Correct" Business Process flow. If there is more than one BPF different users can be working on all of them concurrently.
As per the new changes in the BPF , you can have multiple BPF instances for a record. In addition to that, CRM would not allow you to create 2 instances of the same BPF.
"Keep in mind that no two instances of the same business process flow definition can start on the same record"
Considering the above limitation, how about running the workflow to create the required BPF [Sales BPF] on all the leads record without checking if the lead already has the SalesBPF or not. This will create the BPF for the record which doesn't have SalesBPF and error on the one which already has SalesBPF.
For the records which has the SalesBPF but not active, you can do a direct advance find on the SalesBPF for inactive record and then activate the records.
There isn't really a correct BPF. Marketing should use the marketing BPF, and Sales, the Sales BPF. I can control their view with role permissions.
I looked at this solution, but got no returns. If the lead shows a BPF as "not started" then I do not think the record exists so will not be picked up by looking for inactive records.
This sounds like it should work if I can figure out how the Process ID deals with records with multiple open BPFs.
I resolved the issue in the end by having a colleague write a SQL query to return leads that had no associated Sales BPF. From that list I could tag the records ands create the BPFs.
Business Applications communities