Business process flows (BPF) provide a guided way to get work done in the form of stages and steps. Stages tell you where you are in the process, while steps are action items that lead to a desired outcome. Steps in a business process are bound to fields in the Common Data Service (CDS), and until now, only allowed for default visualizations of the field type (text boxes, dropdowns, and so on.)
With this preview, you will be able to use custom controls to add rich visualizations (such as sliders, radial knobs, the LinkedIn control, and more) to BPF steps and deliver engaging experiences to users of your business process.
Adding custom controls to a business process
Let’s say that you’d like to add a radial knob for the ‘Estimated Budget’ step and a flip switch for the ‘Identify Decision Maker’ step of the Lead to Opportunity Sales process.
In this version of the preview, we’ll do this by:
Step 1: Configure custom controls on a related entity form
In this version of the preview, the easiest way to add custom controls to a BPF is to begin by adding them to a form of the entity that the BPF stage is defined on.
In our example, the Budget Amount and Decision Maker steps of the Qualify stage are defined on the Lead entity. We begin by adding these fields to the Lead main form, and then configure the radial knob and flip switch custom controls for them.
Not familiar with configuring custom controls? Here's a primer to get you started
Step 2: Generate and export the BPF form
To generate the form for a business process you want to add custom controls to, open the business process in the BPF designer and click on Activate/Update.
Once generated, export the form for this BPF in a solution. To do this:
On the 2nd page of the wizard, click ‘Next’
On the 3rd page of the wizard, click ‘Managed’. Finally, click on ‘Export’ to download your solution as a .zip file.
Step 3: Copy custom control configurations to the BPF FormXML
To add custom controls to the BPF, we begin by copying the custom control configurations from the Lead entity form that we just exported. To do this, we begin by viewing the FormXML for the Lead entity form, which can be found in the 'customizations' file in the solution zip file.
Next, we'll paste these custom control definitions into the FormXML of the BPF from we exported in Step 2. Just as before, this can be found in the customizations file in the solution zip file that contains the BPF
To add custom controls in this document:
<controlDescriptions> </controlDescriptions>
<controlDescriptions> <!-- Custom control config. for Est. budget step copied from the lead form --> <controlDescription forControl="{2aab7103-b2d2-b51e-82b0-546216127825}"> <customControl formFactor="0" name="MscrmControls.Knob.ArcKnobControl"> <parameters> <value>budgetamount</value> <min static="true" type="Whole.None">0</min> <max static="true" type="Whole.None">1000000</max> <step static="true" type="Whole.None">10</step> </parameters> </customControl> <customControl formFactor="1" name="MscrmControls.Knob.ArcKnobControl"> <parameters> <value>budgetamount</value> <min static="true" type="Whole.None">0</min> <max static="true" type="Whole.None">1000000</max> <step static="true" type="Whole.None">10</step> </parameters> </customControl> <customControl formFactor="2" name="MscrmControls.Knob.ArcKnobControl"> <parameters> <value>budgetamount</value> <min static="true" type="Whole.None">0</min> <max static="true" type="Whole.None">1000000</max> <step static="true" type="Whole.None">10</step> </parameters> </customControl> </controlDescription> <!--Custom control config. for decision maker step copied from the lead form--> <controlDescription forControl="{b4c7a6d3-ad2b-a237-cb4e-5b62178b1762}"> <customControl formFactor="0" name="MscrmControls.FlipSwitch.FlipSwitchControl"> <parameters> <value>decisionmaker</value> </parameters> </customControl> <customControl formFactor="1" name="MscrmControls.FlipSwitch.FlipSwitchControl"> <parameters> <value>decisionmaker</value> </parameters> </customControl> <customControl formFactor="2" name="MscrmControls.FlipSwitch.FlipSwitchControl"> <parameters> <value>decisionmaker</value> </parameters> </customControl> </controlDescription> </controlDescriptions>
Step 4: Import customizations into the CDS environment
In the dialog that appears, pick the managed solution that we’ve added the edited customizations.xml document to, click ‘Next’ and then click ‘Import’ on the subsequent screen.
And we’re done! Create or resume an instance of the Lead to Opportunity Sales Process in any model driven app to see the custom controls in the Qualify stage.
Things to keep in mind
Thanks for Reading!!