Salesforce Automation face-off: Process Builder versus Workflow
It is showdown time for Process Builder and Workflow! Both are powerful tools offering numerous benefits. But more than likely, there will be at least one automation tool enabled in your organization. Yet, the question still remains the same, which one of the two is best suited for your automation process.
Well as you know, automation business processes can take your application from nice to legitimately useful. With these tools, a savvy admin can save users time and clicks while creating consistency of processes and increasing data integrity.
Process Builder is like a new glittery toy in the game collection. It has a flashy lighting experience interface and all whiz-bang actions it can do. It is built atop the Visual Flow platform that requires less technical ability than Flow. But because of the underlying architecture, it is a powerful tool too.
Things you can do with Process Builder –
- Leverage cross-object entry criteria
- Evaluate multiple entry criteria
- Create new Records
- Create Chatter posts
- Call Flows
- Call Apex
- Submit a record for Approval
Process Builder helps you to automate business processes using graphical (or flowchart like) representations. It is a workflow tool, that helps you to easily automate your business processes by offering powerful and user-friendly visual representation of the process. The Process Builder allows you to build customized automated processes.
Workflow is a tried and tested method of Salesforce automation business processes. It is a tool that functions like a workhorse. According to the criteria, you can do things like update a record, add a new task, or send an email. It is very simple and intuitive that requires minimalist efforts.
Workflow is capable of –
- Single object entry criteria
- New Email Alert
- New Task
- New Field Update
- New Outbound Action
Workflow is used for mass updates – hundreds, thousands, or millions of records. It fires and processes a large amount of data without any fail.
Process Builder VS Workflow –Capability Matrix
|Complexity||Multiple if/then statements||A single if/then statement|
|Starts when||Record is changed and summoned by another process|
|Record is changed|
|Call Apex code||Yes||No|
|Create Records||Yes||Can Create only task record|
|Launch a flow||Yes||No|
|Post a Chatter post||Yes||No|
|Update Fields||Any related record||Record or its parent|
|Send outbound messages||No||Yes|
|Submit for Approval||Yes||No|
|Send Email||Only Alerts||Only Alerts|
Process Builder Considerations
Currently, there are some known limitations/ issues that need to be kept in mind while including it within your design:
- Record type value change – While updating record type of records, currently record type value cannot be directly referenced. Currently, it needs to be hardcoded or referenced indirectly
- Bulk record handling is still not optimum and can breach CPU time execution limits
- Case escalation rules are not being properly reevaluated after process/flow invoked field updates
- When building a large number of process builders, in some organizations have reported sporadic recurrence of concurrent apex issues in their organizations even without and long-running processes (callouts, queries, apex)
- Process builder is not triggered when Time-dependent workflows are used
Also, refer Salesforce Process Builder known issues to get a comprehensive list of known issues with Process builders.
As Salesforce keeps improving Process Builder and it’s capabilities, it is sure to become a mighty powerful automation tool in days to come.
Both the tools are very powerful but both have their own limitations. The winner will be situational, one won’t overshadow the other, and you shouldn’t use one over the other. Evaluate your needs and then determine the best automation tool for the job. Process Builder should never be the sole choice.
We highly recommend considering open issues mentioned above (do check current status on Salesforce known issues space), before heavy inclusion of process builders within your automation strategy, as some performance limitations may lead to degraded system performance. You will not face any issue if your business process and related code are first being evaluated before making choice of the tool.