Always use Process Builder wherever possible.
Salesforce has so many Process Automation options, it can be difficult to decide which one to use. Granted, there is lots of overlap, but there are a few fundamental differences once you get to know them. The best approach to deciding which Process Automation option to use is to ask yourself the following questions:
Do I need to interact with the user?
If the process you are automating relies on interacting with the user (e.g. to obtain input), you will have to use Visual Workflow to do this, as it is the only Process Automation option in Salesforce that supports screens. Easy decision.
Do I need to create a record (other than a Task)?
All three tools can create Tasks, but if you want to create other types of records (including Chatter posts), you will need to use Process Builder, or alternatively Visual Workflow if your process is more complex.
Do I need to delete a record?
Only Visual Workflow will allow you to delete records. No decision to be made here.
Do I need to send an outbound message to an external service?
If you are communicating with an external service (such as an API) and need to send an outbound message from Salesforce in XML format, you will have to use Workflow. None of the other Process Automation tools offer this facility without the need to write supporting Apex code.
Do I need to invoke some Apex code?
If the answer to this question is yes, you will need to use Process Builder or if your process is more complex, Visual Workflow.
The preceding five questions should be enough to put you on the right track in terms of which automation tool you will probably need. However, there are a few finer points that may sway your final decision. See this Trailhead article for some in-depth detail to help you choose.
What you can do with Process Builder
Process Builder should always be your first port of call when looking to automate processes in Salesforce. With Process Builder, you can:
- Create records
- Update records related to the one that triggered the process
- Post to Chatter
- Send Email Alerts
- Invoke other Processes
- Launch Flows
- Submit records to an Approval Process
- Call Apex code
- Use a Quick Action
What you can do with Visual Workflow
Basically, anything you can do with Process Builder you can also do with Visual Workflow – all except invoke Processes. However, with Visual Workflow you can also:
- Update any record (not just ones related to the record that triggered the Flow)
- Delete records
- Send emails (not just email alerts)
What you can do with Workflow
Workflow is a little more limited. With Workflow Actions you can:
- Create Tasks
- Update the record that triggered the Workflow Rule (or its parent record)
- Launch Flows (this is coming soon – a pilot is in progress)
- Send Email Alerts
- Send outbound messages in XML format without using code
If you need any more information, Trailhead is your go-to place. There’s an excellent module on Process Automation that will teach you everything you need to know, in the usual fun Trailhead style. Go for it, Trailblazer!