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:
- Lightning Process Builder
- Visual Workflow
- Approval Process
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:
- We can also use Process Builder to automate the basic processes that contain if/then statements and Salesforce recommends to start with Process Builder.
- The only action that cannot be performed with Process Builder and is only possible through Workflow is sending outbound messages. (as an alternative to this, we can call Apex/API through a Process Builder)
- Workflow rules allow us to add multiple time triggers (that have the same criteria) on to a single workflow rule. For example sending timely email notifications and creating timely tasks.
- We cannot add time based actions to a Workflow Rule if we select ‘Every time a record is Created or Edited’ as the evaluation Criteria.
- Actions can be used on multiple Workflows. We can either add an existing action or create a new one on a Workflow
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).
- In most of the cases, It is preferable to use a Process Builder instead of multiple Workflow Rules (but not in all the cases)
- Make sure that you have deactivated any Workflow Rules that you are about to replace with Process that is built through Process Builder
- We cannot reorder Actions in each Action Group but can reorder the criteria notes which means we can change the order of filter criteria
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.
- Make sure that you save any changes done to the Flow since Flow always runs the last saved version
- Make sure that all the required fields on objects are provided with data while creating records through Flows
- Make sure that the Users who need to use Flows have the right access to them especially when the Flows are being called from a Visualforce page.
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.
- Make sure that the order or sequence of your Approval process is as per your needs
- Make sure that the Assigned Approvers have the necessary permissions on the record that they need to approve
- Make sure that you have the email templates ready in order to notify the Approver regarding the Approval Requests.
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.
- Always note down your business process before starting to automate it. This will always make your task easy to select the correct tool for process automation
- Make sure that your automated process does not get into infinite loops. Always make sure that you include additional checks in order to avoid this situation.
- When you are making any changes to custom fields, always remember to make sure that you also update the automated processes in which that field is included.
- Records created or updated through automated processes can bypass the required field validations that are set up on the page layouts. Admin should always make sure that valid data is provided in those fields as part of the process
- Actions can be used on multiple automation tools.
Image courtesy: Salesforce