In this post, I am sharing the salesforce Tips for migrating the Process builder to flow or trigger or dropping the existing process builder and incorporating it into another automation (ie trigger or flow).
Initially, Process Builders cannot handle before DML It executes after a record has been created or updated. Whereas Apex triggers can handle both before and after DML operations.
Second, the Order of execution should not be neglected at any cost.
In addition, If we have a trigger and flow in an object. In that case, if the flow can be leveraged to meet the requirement, I will say just go for it. It would help you not only purge extra lines of code and from adding unit test classes too.
Create before context flow, before context trigger, and Process Builder(runs always in after context) on the same object ie AB test (consider for POC)
Try to update the name from all three of them(flow, process builder, and trigger).
You will find the below order of execution.
First Flow gets invoked and it updates the value of the name field.
The second goes into before the context trigger and name gets overridden.
Third, the process builder gets invoked and it overrides the name field.
In after context trigger, if you are updating value on the same object it will throw an error as in after context the values are read-only, there is a workaround for it but the process builder allows that directly. Refer to the images for more clarity
Order of execution is the one way to sail it through.
Hope you find this post useful! Catch you in the next content.
And thank you for being an awesome reader.
Share and grow together !!
If you have any doubts you can comment down below, I will try to reply ASAP.
Also keep visiting us, for more such content!