Salesforce offers various tools to automate business processes; for example, Visual Workflow, Workflow Rule, and Process Builder. So, it is necessary to understand the differences between these tools, and when to use which one. The following table describes the differences between these tools:
Workflow |
Flow |
Process Builder |
|
Visual designer |
Not available |
Available |
Available |
Starts when |
A record is created or edited |
|
A record is created or edited |
Supports time-based actions? |
Yes |
Yes |
Yes |
Call Apex code? |
No |
Yes |
Yes |
Create records |
Only task |
Yes |
Yes |
Invoke processes |
No |
No |
Yes |
Update records? |
Yes, but only fields from the same record or parent (in case of master-detail relationship) |
Yes, any record |
Yes, any related record |
Delete records? |
No |
Yes |
No |
Launch a Flow? |
No |
Yes |
Yes |
Post to Chatter? |
No |
Yes |
Yes, but only textpost |
Send an email? |
Yes |
Yes |
Yes |
Submit for approval? |
No |
Yes |
Yes |
Send outbound messages? |
Yes |
No |
No |
Supports user interaction? |
No |
Yes |
No |
Version control? |
No |
Yes |
Yes |
Supports user input at runtime? |
No |
Yes (through screen elements) |
No |
Supports unauthenticated access? |
No |
Yes (through Force.com sites) |
No |
Can pause on runtime? |
No |
Yes |
No |
Allows modification |
After deactivation, you can modify the Workflow Rule |
Once Flow is activated, you can't modify it, and the same applies after deactivation |
Once process is activated, you can't modify it, and the same applies after deactivation |
Delete |
Once Workflow is deactivated, you can immediately delete it |
Once Flow is deactivated, you can immediately delete it |
Once process is deactivated, you can immediately delete it |
Version Control |
No |
Yes (number of versions you can create for a Flow is 50) |
Yes (number of versions you can create for a process is 50) |