There might be various processes in our line of business such as Notifying key users regarding milestones achieved, progression of records through various stages or statuses based on key parameters, flow of data between modules based on criteria, getting the timely approvals for specific actions, etc., that we would like to automate in Salesforce in order to reduce the repetitive manual work and thus eliminating the risk of errors.
Salesforce provides powerful tools that enable us to automate these use cases and many more through simple configurations without the need of coding skills. Tools offered by Salesforce for business process automation are:
Workflows: Workflows allow us to automate basic processes that can be summarized with a simple if/then statement which means that if certain conditions are met, then specified actions will be initiated. Now these actions can be either immediate (that happen immediately) or time-dependent (are executed at a specific time). The actions permitted through Workflow are Field Update, Email Alert, Create Task and Outbound Message Key considerations:
Lightning Process Builder: Lightning Process Builder or simply Process Builder allows us to automate business process that contain multiple if/then statements. It also provides a graphical representation of your process and an easy to use UI to build your processes. Process Builder basically consists of an Entry criteria and Actions (Immediate and Scheduled that are included in Actions Groups) to be executed when the criteria is met. The possible actions through Process Builder are to create records (related to the Record triggering the Process Builder), Email Alert, Launch a Flow, Post to Chatter, Quick Action, Submit for Approval and Update Record(s).
Click here to go to the Trailhead section on Process Builder.
Visual Workflow: Visual Workflows or simply Flows allow us to automate much more complex business processes and most importantly enable us to automate processes where we need to get information from End User and then proceed based on the inputs provided. We can also delete records through Flows. Unlike a Process, Flows do not initiate on their own based on changes to a Record. They need to be initiated through other means such as calling them from a Process Builder, through a Visualforce page or calling them through APEX.
Key considerations:
Click here to go to the Trailhead section on Visual Workflows.
Approval Process: As the name suggests, Approval Process enables us to automate the approvals needed in various scenarios. We can specify the criteria needed by a record in order to get into the Approval Process, the number of approval steps required and who should be approving each step. We can also specify what actions can happen when a record is submitted for approval, when an approver or all approvers approve the record and also when an approver rejects a record. The actions permitted through Approval Process are Field Update, Email Alert, Create Task and Outbound Message. We can enable Approval Process through Email Response, through Chatter Feed or through unanimous approval. Approval Process can be initiated when a User submits record for approval, when called from Process Builder or a Flow or through APEX.
Key considerations:
Click here to go to the Trailhead section on Approval Process.
Choosing the right tool!
Each tool has its own advantages and a few limitations to it as well. It is very important to understand the capability of each of these tools in order to decide which tools suit our specific use case. When used in combinations, we can automate more complex business process.
Best Practices:
Image courtesy: Salesforce