When we talk about Business Process flow (BPF) , there are lot of questions :
- How does it operate, how is it stored in D365? Does it create a a background entity which can be modified? A BPF creates a background entity when the BPF is actually validated. This entity would have everything same as any normal entity. Only difference is we can not create custom forms this entity and also if we try to open BPF record from advanced find, it will open the primary entity of that BPF.
- Can it span across multiple entities? Yes it can span across multiple entities(tables), OOB or custom in data verse. Only caveat is each stage can refer to different entities , and first stage would consist of Primary entity.
- Can one entity have multiple BPFs? and if yes can I select specific BPF ? or automate the selection based on some condition? Yes one entity can have multiple BPF, based on security role, the correct BPF(s) would be shown to the user. In case the security role has access to two BPFs on the same entity, user can use the switch process and select the wished BPF for this transaction.
- How to apply security to BPFs? In earlier versions of D365, BPFs can be assigned security roles exactly the same we apply security roles to entity forms. However in recent versions, this does not work. This has to be done in the individual security roles under Business process flows. Here the business process flows should be given access same as any normal entity. I have not tried giving the lover level access, it would be mostly the top level (org level) access
- Can one BPF have multiple branches based on conditions ? Yes there can be branching in BPFs based on the different conditions
- Can it store data out side of data verse ? Nope. BPFs can store data only in data verse OOB or custom entities(tables) but not outside of data verse.
- What is concept of immersive BPF in data verse ? If we want to implement independent Business Process for any of the functionality, immersive BPF can be created, which can be added to a separate solution and can be deployed using this solution to higher environments . This would not be added to any form, but BPF itself would have all the required fields added . It can also have custom controls on it.
- What is Traversed Path for the BPF ? Traversed path is the comma-delimited string of process stage ids that represent visited stages of the business process flow instance. For example if the opportunity is closed won, then traversed path would contain all the stage Ids stating of Identify and then up to Closed Won. This is very interesting to know about this traversed path as it plays important role in data migration and need to create the BFP automatically for migrated data. In case the migrated opportunity record is Closed won, we have to set the traversed path, otherwise BPF creation would error out
Let us check some scenarios and corresponding solutions
- To add any field on BPF, field is not needed to be present on form,, it will automatically add in the DOM but will be hidden on the form
- What can not be done with Business process flow entity can not do? Only custom forms can not be created , rest all can be done. Also you can not access the form of the BPF in D365 from any App. Its only in design. If you open any BPF record from advanced find, it will open the primary entity form of that BPF instead of the BPF form. For ex, if opportunity BPF is opened, it will open opportunity form
- If you have been hired to configure a new Microsoft Dynamics 365 implementation for a company. You need to create a business process flow that accommodates multiple work flows, in that case adding multiple BPFs , you can add multiple steps to the BPF and call workflows instead of adding additional multiple linear business process flows. or adding stages to the linear business process flow or adding branches to the business process flow
- You have a custom entity named entity1 that has three activated BPFs named BPF1. BPF2. and BPF3. You need to ensure that BPF2 in visible only to customer service representatives from the web client. In this case you need to configure the security roles of customer service to have access to BPF2 and rest of the security roles should not have this BPFs selected. Now this is the only way we can secure BPF visibility in D365. Earlier like the entity forms , BPFs were also allowed to select specific roles , however this feature does not work as of today and the changes are to be done only at security role level
- You have a business process named Know Your Customer. Employees use this business process to capture key information about customers. You must implement a business process flow (BPF) in Microsoft Dynamics 365 that represents this business process. You specify the name for the BPF as well as the stage names, entities, and stage category that the BPF will use. You need to complete the BPF implementation. Following are the three additional components you can configure Step Required, Step Display Names, Data Fields
- You are implementing a new business process flow (BPF) in Microsoft Dynamics 365. You specify a name and the primary intent for the BPF, and define the stages and conditions.
- You need to configure the composition so you can configure Workflows and Steps as well as Actions
- When a business process flow (BPF) enters a specific stage, you need to run a workflow. Then below two actions you have to perform, Select an on-demand workflow to run and add a stage specific workflow composition component.
- You need to provide users that have the Sales manager security role access to multiple business process flows (BPFs). Here Users can select a default BPF for all records and If a user does not have access to the current process that is applied to a record, options will be disabled. You are a subject matter expert for an insurance company. You have a complex business method that is used for settling and releasing claims. You need to create a process in Microsoft Dynamics 365 to assist team members with the claims settlement process. You must limit this process to team members that have a specific security role. This is perfect use case for Business Process Flow (BPF)
- You are implementing a Lead to Quote business process. The process will update the Lead. Account Contact, and Quote entities. You need to create a business process flow (BPF) that spans the entities. then you have to add a stage and specify the properties for each entity.
- You need to create a business process flow (BPF) that spans multiple entities. In this case, you can include a maximum of five entities and there is no limit to use same entity multiple times .
- The system must send a notification to the manager 24 hours after an opportunity Is created based on the date of the next best action. This not BPF use case, instead its async workflow