A blog dedicated to Salesforce Ohana

How to choose correct Process Automation tool || Process Builder vs. Visual Workflow vs. Workflow vs. Approval Process


With process automation, we now have multiple solutions available which we can use to implement the requirements. The solutions that we have are -
  • Lightning Process Builder
  • Visual Workflow
  • Workflow
  • Approvals
With so many options, it brings responsibilities as well to the developer to decide which tool to use. In this post, I will try to provide a comparative study on which tool is best based on some situations. But at the end, it is upto you as a developer to decide and select the best tool available. I hope this post will help you to take the decision.

Let's start with the easy one -

Approval Process ::
As the same suggests, whenever you need to take approval actions, you need to go for Approval process. This is an automated solution which will work based on the record creation or record value change. 
Below are few important points about approval process -
  • Complexity of Approval process is very simple. It can support only one if/then statement.
  • It doesn't support time-based approval process i.e. trigger the approval after 24 hours or something like that. It is a complete real-time solution.
  • Approval process can't call Apex code or delete any records.
  • But Approval process can create only Tasks (nothing else).
  • Approval Process can update the same record or it's parent.
Workflow :;
Workflow is the automation tool which should be used when you need to take action based record creation or record's value change. 
Below are few important points about Workflow -
  • Workflow rule works when the record is created or when the record's value is changed.
  • It supports time-based action i.e. workflow rule action can trigger after 24 hours since the value of the record changed to meet the criteria.
  • Complexity is again very simple i.e. single if/then statement.
  • It can create only task record.
  • It can't delete any records.
  • It can send outbound message without code. [This is very important factor to choose Workflow over Process Builder]
  • It can't invoke approval process.
  • It can update the same record or it's parent record. It can't update child record. [This is a limitation of Workflow and Process Builder can handle this limitation]
Visual Workflow ::
People sometimes refer Visual Workflow as "Flow". This automation tool will come into picture when you need to take some input from end user and based on the input you need to take the decision. Visual workflow is very powerful and as always with power, it brings complexity as well.
With Visual Workflow, developer can call apex, create/update/delete records, post to chatter, send emails, submit for approval. It supports time-based action as well. The only limitation with Visual workflow is that it can't send outbound messages without any code.

Process Builder ::
Process Builder is really a powerful automation tool. With Process Builder, developer can easily automate business process using graphical representation. It comes with two parts -
  • Criteria which will decide when the Process Builder will kick off.
  • Immediate or Scheduled actions which will happen when the Criteria will meet.
Below are few important points about Process Builder-
  • With Process Builder, you can create records, but you can't delete any records.
  • You can update any related records (be it with Parent or be it with Child).
  • You can submit for approval as well.
  • You can't send outbound messages without code.
  • You can launch a flow - auto launched flow. 
With all these understanding, I have prepared a small decision tree which will help you to decide the correct automation tool. 


Please provide your feedback. Thanks.
Share:

2 comments:

  1. Such a great post Sudipta. Explained the concepts so clearly. Thanks for sharing the knowledge here.

    Best of luck mate.
    Jonathan

    ReplyDelete
  2. Nice comparative article, haven't seen analysis like this.

    ReplyDelete

Follow Me

Enter your email address:

Delivered by FeedBurner

Popular Posts

Labels

Salesforce (101) Apex (43) admin (27) ADM (20) visualforce (20) dev 501 (19) integration (18) learn salesforce (18) 501 (16) SOAP (13) tutorial (11) Certification. (9) lightning (8) Trigger (7) test class (7) unit testing (7) design pattern (6) report (6) security (6) trailhead (6) Advanced Admin (5) New Features (5) SOQL (5) css (5) dashboard (5) debug (5) developer (5) formula (5) javascript (5) mobile (5) salesforce release (5) service cloud (5) solution management (5) use case (5) JSON (4) Lightning Experience (4) WebSphere (4) best practice (4) cast iron (4) component (4) deployment (4) github (4) html (4) polymer (4) profiles (4) responsive (4) tdd (4) ui (4) Advanced Apex (3) Certification (3) Live Chat (3) Performance (3) Products (3) Sales Cloud (3) Study Notes. (3) Summer15 (3) Tips (3) dynamic apex (3) event (3) license (3) map (3) mapbox (3) singleton (3) version controlling (3) Bulkify (2) Data Architecture and Management Certification (2) Distributed Version Controlling (2) Eclipse (2) Einstein (2) Financial Services Cloud (2) Force.com IDE (2) Governor Limit (2) IBM (2) Kitchener Developer Group (2) Lightning Design System (2) Live Agent (2) Metadata (2) Online Event (2) Opportunity (2) Price Book (2) REST (2) SOSL (2) Salesforce DX (2) Scratch Org (2) Spring 15 (2) Summer17 (2) ant (2) automation tool (2) basic (2) chatter (2) coding (2) communication (2) console (2) controller (2) documentation (2) flow (2) git (2) jquery (2) logging (2) permission (2) process builder (2) release (2) salesforce1 (2) strategy (2) xml (2) Action Plan (1) Action Plan Template (1) Agent Productivity (1) Analytics (1) Architect (1) Asynchronous callout (1) Bots (1) Browser (1) Bulk data load (1) CTA (1) Calendar (1) Canon (1) Case Management (1) Classic (1) Contact Center (1) Continuation (1) Continuous Integration (1) Convert (1) Cookie (1) Custom Metadata (1) Custom Object (1) Decorator Design Pattern (1) Diwali (1) Email (1) Enterprise Territory Management (1) FSC (1) Goals (1) Groups (1) Guide (1) Household (1) Ideas (1) Implicit Sharing (1) Improvement (1) JourneyToCTA (1) KPIs (1) Kitchener User Group (1) Large Data Volume (1) LastModifiedDate (1) Metrics (1) Omni-Channel (1) Person Account (1) Photo (1) Platform Developer I (1) Presentation (1) Product Schedule (1) Profile (1) Public Site (1) Query Plan (1) QuickReference (1) Reports (1) Retrieve (1) Role (1) SFDX (1) Salesforce Optimizer (1) Session (1) Sharing (1) Site (1) Skills (1) Snap-ins (1) Spring 17 (1) Summer14 (1) Summer16 (1) Switch (1) SystemModStamp (1) Territory (1) Users (1) Webservice (1) Winter'15 (1) Winter'17 (1) access (1) agile (1) app (1) approval process (1) aura (1) awesome (1) backup (1) bitbucket (1) book (1) campaign (1) change set (1) code (1) code coverage (1) configuration (1) csv (1) custom button (1) custom settings (1) customization (1) data loader (1) database (1) delegate Admin (1) describe (1) dom (1) dreamforce (1) duplicate (1) dynamic (1) equals (1) error (1) field-level security (1) folder (1) ftp (1) generic (1) gift (1) global describe (1) hashcode (1) import wizard (1) jenkins (1) keynote (1) long running requests (1) monitoring (1) mysql (1) object (1) page layout (1) personal (1) power of one (1) record type (1) relationship (1) request (1) review (1) sub-tab (1) tab (1) username (1) visual workflow (1) workflow (1)

Total Subscribers

Total Pageviews