We Do Declare
A major goal for any Salesforce admin is to make their end users’ lives easier. Oftentimes, the best way to do that is through business process automation. The Salesforce Platform has many powerful tools that allow admins to create automations declaratively – that is, without writing any code. This variety of options gives admins a lot of flexibility, but deciding which tool best suits a business problem can be overwhelming. This post will go over Salesforce’s different automation tools and the capabilities of each.
Since its release in 2015, Process Builder has been the bread and butter of Salesforce automation. It replaced nearly all of the functionality of the older Workflow rules (more on those later), and it has way more capabilities. The first question an admin should ask when deciding on an automation solution is: “Can I build this in Process Builder?”
Processes are tied to one object, and can be configured to kick off when a record is created or updated; it can also be launched by another Process Builder or Flow.
A Process consists of one or many if/then statements (ie. if this is true, do this). Based on criteria specified by the admin, it can create records, update records related to the record that triggered it, send email alerts, launch other Processes or Flows, post to Chatter, or call Apex code.
Every action that a Process does can be determined by specific conditions, so one single Process can take care of various business scenarios for any given object. Additionally, actions can either happen immediately or be scheduled to run a certain amount of time after the Process has fired.
Salesforce is making a push away from Workflow Rules and towards Process Builder, so we won’t spend too much time on them. Salesforce has no plans to completely remove Workflow Rules, but they will no longer be improving or updating them.
The one thing Workflow Rules can still do that other declarative tools cannot is “Outbound Message.” It can deliver information such as records’ fields in XML format to a specified endpoint. (The endpoint will have to be configured to allow for the incoming messages.)
If you find yourself asking “Can I build this in Process Builder?” and the answer is “no,” Flow might be the tool for you. Flows provide a little bit more power to the admin than Process Builder by providing a point-and-click way to automate complex, programmatic decisions. Like Process Builder, Flows can create records, update records, launch other Flows, and call Apex code.
Additionally, Flows have the ability to loop through multiple records (such as the children of the triggering record) and treat them conditionally. This can be used to do complex automations like cloning a record and all of its children while updating each cloned record with new, conditional information. Unlike Process Builder, Flows can also delete records.
There are two types of Flows.
Autolaunched Flows are kicked off by either a Process or another Flow. If you want your flow to launch automatically when a record is created or changed, simply make a Process Builder for that object that calls your Flow.
Screen Flows have an interactive, wizard-like interface that lets your users input information into a screen (or a series of screens) and launch the Flow themselves based on their input.
When to Use Code (Only When You Need To)
Using Apex code such as triggers should be the last resort when it comes to automation. If Process Builder can’t solve the problem, try Flow. Finally, if Flow can’t solve the problem and there’s no solution on the AppExchange that meets your needs, it’s time to consult a developer for custom code.
Apex is undoubtedly the most powerful tool for customizing and expanding the Salesforce Platform, but it is best used sparingly. Declarative solutions like Processes and Flows are much more scalable, easier to maintain, have less room for error, and do not need to be covered by Unit Testing.
Use Shift3 to Hustle Your Flows
At Shift3 Technologies, we use a consultative approach to help you determine the best strategy to identify your challenges, implement appropriate solutions and enhance your systems. Frustrated with Salesforce? Learn to love it again with our 3-part blog series. For a free consultation, email email@example.com or call 559 560 3300 today.