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
- 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 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]
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.
- 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.