Workflows enable us to set up rules that are evaluated and the corresponding action is executed based on the type of change in record. Few common cases in which workflows are used are:
1. Create a new task on an event
2. Update a field
3. For email alerts
4. For outbound messages
Example of workflow to update the mailing city:
Process Builder is more advanced than the workflows. The major difference between workflows and process builder is the number of operations or actions they are used for performing. Process builder is used in several more complex cases like:
1. Update any related record
2. Send an email
3. Call Apex methods
4. Call a flow
5. Posting to chatter
If you want to update a process created with process builder there is no way to do it. You need to clone the existing process and update it. Due to if-else criteria of process builder, a process that will need many workflows can be built with a single process.
Example of a process created with a process builder for updating records in case address changes:
Flows, on the other hand, is an integrated app in Salesforce that can be used to perform various operations such as execute logic, collect data from users, call apex classes and interact with Salesforce database independent of the data change events. To create flows you need cloud flow designer in salesforce. The main difference between flows and workflows is flows are user-triggered application and workflows are event-triggered. Workflows execute their actions behind the scenes while flows can display information on the screen. In workflows, actions are associated with a particular object and its related objects which is not the case with flows since they can create, update, lookup and delete records for multiple objects.
Many different types of apps can be created with flow elements at a very rapid pace.
The business process can be anything like:
1. Filling out a survey
2. Filling out a form
3. Working on a script
The basic example of flow is shown below:
Below is an example of a flow for creating a survey for collecting customer feedback. Every survey follows a flowchart.
In this example, the survey starts with the customer greeting screen. This screen will display the greeting message and will ask the user permission to proceed further. Settings and selection of screen can be done from the left panel in user interface shown in the figure. After that, you can add decision from a logic panel on left if the decision is no and you want to end the survey than you can add ‘thank you customer screen’.
If the decision is yes then go further and make the new screen for customer survey and add your data by how you want this survey to be done and in the end, after completion of the survey you can end the survey: