Salesforce Automation Overview
Salesforces success is largely due to its unrivalled customisation options. The CRM solution can be moulded to your unique business processes, allowing for immeasurable customisation options.
Salesforce doesn’t break this trend when it comes to automation.Do you want to create a Task and send an email (at the same time!) when a certain Opportunity Stage is reached? How about simultaneously logging an activity and submitting a record for approval, at the press of a button?
The tools provided to Administrators are extremely powerful, but they can be quite daunting. These include Workflow Rules, Process Builder, Flow and Apex. Each comes with its own advantages and disadvantages, which means it can be tricky to know what is best to use in certain scenarios.
To understand which tool is best for your situation, let’s look at each one individually.
Workflow Rules
Workflow rules are the Admin’s bread and butter when it comes to basic automation. Despite having less prevailing features compared to the other automation tools, they certainly have redeeming qualities.
Workflow rules evaluate one outcome, meaning it is either true or false. The outcome can include logic, such as AND, OR and NOT.
Although not highly advanced, this allows for a solution that rarely breaks, executes very quickly and can evaluate a large number of records.
Uses for Workflow Rules include updating a field on a record, sending an email and creating a task.
Process Builder
The process builder is presented in the Lightning user interface, so is easy for any Administrator to build, maintain and troubleshoot. A process builder is, in effect, a Workflow Rule with multiple decisions.
If the outcome of the first decision is not met, you are able to “evaluate the next criteria”.
This allows you to build one process that evaluates different tiers of criteria. For example, the first node could fire if a discount is over 20%, sending an email to the Director of the company. A second node could fire if the discount is over 10%, sending an email to the management team. This allows the Admin to apply different outcomes in one process, based on the values that caused the automation to run.
Process Builder is able to update fields on the record that started the process, update fields on related records, create records, log a call, launch a flow (see below), send an email, submit for approval and post to chatter.
This all sounds great! In practice however, it is possible for Process Builder to run into issues regarding limits. Due to how it processes records, it can be resource intensive, so Admins should bear them in mind while doing large data updates (for example Data Loader).
Flow
The most powerful out of the box automation tool Salesforce offers is Flow. This process really shines when tasked with creating guided wizard screens, which can now be embedded into Salesforce Lightning as a component on page layouts. Logic can be applied to information entered into the screens, allowing for branching paths that react to the user. These are ideal for scenarios such as call scripting. However, they can be used when any scenario requires evaluation of information being entered, with different outcomes being presented to the user.
Flows can do everything that the above tools can do, plus more. For example, it can delete records that match criteria. They don’t have to be related to the record that started the process.
Flow is the closest automation tool to code but isn’t nearly as scalable. Due to this, they are complex to build and require a lot of planning. There is no guidance or hand holding in Salesforce, much like the Process Builder – you are left to your own devices! Flows are prone to breaking if not built correctly; using error handling is important here.
Apex
For anything that the out of the box solutions can’t do, there is code. Apex is Salesforce’s version of a programming language, allowing developers to build completely custom, scalable solutions.
Not only does it do absolutely everything that the standard automation tools can do, you also have access to Visualforce.
Visualforce is a component-based framework, allowing developers to create interfaces. This means that the standard user interface of Salesforce can be overridden, allowing for a completely custom experience.
Apex and Visualforce have an extremely high learning curve, so lots of time and dedication is needed to master.
Summary
With any solution, always plan out what is required in detail. You can then assess which tool suits your overall need the best. For example, there’s no need to build a flow for a simple field update, and a Workflow Rule can’t present the user with screens.