Salesforce provides multiple tools to automate your organization's business processes. These Salesforce Automation are -
Don’t forget to check out: Salesforce Automation with Flow
- Process Builder
- Approval Process
1. Workflows -
The workflow in Salesforce is basically an automation tool that automates certain actions based on particular criteria. If the criteria are met, the actions get executed. When they are not met, records will get saved but no action will get executed.
The Workflow executed when -
• Record is Created
• Record is Created and altered
• Record is Created and each time it's altered to accordingly meet the criteria
Components of Workflows -
Workflow rules consist of a trigger, at least one criterion, and at least one action. You can configure immediate actions or schedule actions to be executed at a specific time.
Actions performed by workflows in Salesforce -
• Create a task
• field update
• Sending an email
• Sending an outbound message
2. Process Builder -
In Salesforce Process Builder is an automated tool that allows you to control the order of actions or evaluate the criteria for a record. In other words, it is an updated/advanced version of the workflow rule.
The Process begins when -
· A record is created or edited.
· It’s called by another process.
· A platform event message is received.
Components of Process Builder -
The process consists of a trigger, at least one criterion, and at least one action. You can configure immediate actions or schedule actions to be executed at a specific time.
Actions that can be performed with Process Builder -
- Create and update records.
- Send an Email alert.
- Submit a record for approval.
- Invoke a process from another process.
- Launch a flow.
- call apex code.
- Post to chatter.
3. Approval Process -
The Approval Process in Salesforce is an automotive process that approves records for Salesforce. As the process is automotive it works on certain criteria. The approval process may include rejection, recalled or the first-time submission of approval.
An Approval Process consists of the following sections to be configured -
Process Definition Detail - Approval Process Header level details like name, email template, etc.
Initial Submission Actions - It will be executed when the user clicks on ‘Submit for Approval’ on the object record.
Approval Steps - Details of Steps criteria and the approvers
Final Approval Actions - It will be executed after all the approval process steps have been approved.
Final Rejection Actions - It will be executed if one of the approval process steps have been rejected.
Recall Actions - It will be executed if one of the approval process steps have been a recall.
4. Flows -
Flow is the most powerful declarative automation tool you’ve never heard of. Also known as Visual Flow, 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.
However, Flow can also be used without a wizard-style screen, running in the background similar to other automation tools, but way more powerful.
Features - All of the features you get from Process Builder, plus wizard-style screens, delete records, update any record in the system (not just related).
Advantages - If Process Builder 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 Admins access to “code-like” functionality, without having to write a single line.
Disadvantages - Limits are similar to that of Process Builder. There’s a large learning curve, so do not expect an easy-to-use wizard-style screen like the Process Builder. Again, processes can easily be broken.
5. Apex -
Apex is Salesforce’s very own programming language and can basically do anything on the platform. Most complex implementations will need Apex language for various reasons.
Features - Everything listed in the previous tools plus much more.
Advantages - When declarative tools can’t do the job, Apex is here to save the day. It can scale extremely well, so any large implementations where limits are typically an issue, Apex can handle it.
Disadvantages - Requires Learning Apex programming skills, and can also be time-consuming as you have to write test classes alongside each line of code.