The toughest question continues as technical experts want to know which one is the best salesforce Automation tool to automate your company’s business processes – Workflow or Process builder or Flow or Apex?
Each tool comes with its unique features, advantages, and disadvantages, meaning that there is probably the best-fit tool for each scenario.
You have all heard the Best practice in Salesforce: “Don’t write code unless you have to!”
To understand when to use which, we will first see an order of execution and the salesforce power Graph.
Order of Execution
Whether you are an administrator, consultant, developer or architect – you need to understand the order in which tools are executed.
Apex Trigger is executed. (Before and then After)
Workflow Rules are executed.
Execute Processes (builder) & Flows.
Salesforce Power Graph
This Power Graph will show you the relative Functionality vs Complexity of the different automation tool. This line is an exponential function that approaches infinity means is, further to the right we get on the graph the more power you will have in salesforce by the taking on more complexity.
Now, we will take a look at the features each one offers: –
We will take a workflow Rules is perhaps the most well recognized and most used tool, as it has been around the longest and is very dependable. While Workflows are somewhat limited in functionality compared to the other tools available, they rarely cause an error, are very fast and are extremely easy to use.
· Update a field.
· Send an email.
· Create a task.
· Send an outbound message.
· Easy to use and excellent starter tool for any new admin
· The Workflow Rule is very hard to “break” and since the functionality is so simple, it’s rare to run into issues.
· Limited Action and Limited access to related Record.
· Workflow rules will only evaluate one outcome, either it’s true and it will execute, or it’s false and it won’t.
Process Builder helps you easily automate processes by providing a powerful and UI friendly visual representation of your business logic. Process Builder also extends upon the things that workflow rule does.
· Create a record. (Not just tasks!)
· Update related records. (Even child records!)
· Send an Email.
· Launch a Quick Action.
· Post to Chatter.
· Launch a Flow.
· Call Apex code.
· Submit for approval.
· Invoke another process.
· A simple and flexible User Interface.
· Process Builder can combine multi-decision workflows into a single process and can have a chain of criteria (if-then statements).
· Process Builder can update any field on any related record of selected Object.
· Process Builder has versions, so you can retain deactivated previous Processes. If you realize something isn’t working and activate the previous Version.
· Process Builder can’t send Outbound Message.
· Process Builder can’t handle before DML and it executes after a record has been created or updated.
· Process Builder can’t handle, delete and undelete DML.
· An error reported in Process Builder is more generic which makes it hard to find the origin of the error.
Flow is the most powerful declarative automation tool. This tool is primarily used to generate wizard-style screens that can take a user through a series of steps, updating records along the way and it is launched by Process builder.
· All of the features you have in Process Builder, plus wizard-style screens, delete records, update any record in the system.
· If another declarative tool can’t do it, then Flow usually can. It is generally a lot more powerful, not just in terms of specific features, but in terms of the bigger picture. It gives us access to “code-like” functionality, without having to write a single line.
· More complexes to use and need large learning curve so do not expect an easy-to-use wizard-style screen.
Also, the known as Tool of the Gods because mastering these tools gives you infinite an almighty power of salesforce or to do whatever you choose to do and only tool on this list that requires development skills. Finally, there’s always Apex – whatever Complex business requirements you have that can’t be accomplished through the declarative tool.
· Everything listed in the above tools plus so, so much more.
· When Other tools can’t do the job, Apex is here to work. It can scale extremely well, so any large implementations where limits are typically an issue, Apex can easily handle it.
· Learning Apex requires programming skills,
· Using Apex means that you will need to write test Classes and the more Apex you have, the longer it will take deployment time.