What is Salesforce Flows?
Salesforce Flow is an easy-to-use declarative automation tool that allows you to build complex business automation solutions through point-and-click.
Through flow, we can create, update and delete records for multiple objects and can perform various actions as well.
Types Of Salesforce Flows
Flows are divided into Two Categories:
1. Screen Flows
Screen flows are the flows where we have the user interaction like a user can enter values using components such as text, picklist, or display values using components such as display text.
- Screen flow can include one or more screens.
- Each screen is made up of one or more screen components. A screen component is a configurable, reusable element added to a screen.
- Screen components are available in three categories.
- Input includes standard components that request information from the user.
- The display includes standard components that display information to the user.
- Custom includes components that you or someone else have created. Install them from AppExchange or a third-party library, or work with a developer to build your own.
2. Autolaunched Flows
Autolaunched flows are flows that don’t require user interaction and run in the background.
Autolaunched Flows are distributed into Four sub-categories based on how they trigger:
Types of Autolaunched Flow
1. Record-Triggered Flow
A record-triggered flow will be invoked whenever we create, update, or delete a record of a particular object. Flow can be triggered when:
- A record is created
- A record is updated
- A record is created or updated
- A record is deleted
In Record Triggered Flow, we can configure when to execute the actions:
- Fast Field Updates (Before Save): Update fields on the record that triggers the flow to run. This high-performance flow runs before the record are saved to the database.
- Actions and Related Records (After Save): Update any related record and perform actions, like sending an email. This more flexible flow runs after the record is saved to the database.
2. Schedule-Triggered Flow
A schedule-triggered flow starts at the specified time and frequency for a batch of records. We will not be able to launch a schedule-triggered flow by any other means.
We will be able to schedule flow from Start Date and Time for the following frequencies:
3. Autolaunched Flow (Invokable Flow)
Autolaunched flow does not require any user interaction and it can be automatically launched through the apex, process builder, APIs, and any other flow.
4. Platform Event-Triggered Flow
A platform event-triggered flow will be executed whenever there will be an event occurring in Salesforce. This flow runs in the background without any interaction with the user.
Overview Of Salesforce Flows Tool
1. Button Bar
Manage your flow as you build it.
- Select Elements: After clicking the ‘Select Elements’ button, click on each element that you want to select.
- Copy Elements: Clicking the ‘Copy Element’ button lets you copy a selected element or multiple selected elements to the clipboard.
- Paste Elements: Clicking the ‘Paste Element’ button lets you paste a selected element or multiple selected elements to the canvas.
- Undo/ Redo Element: To undo a change to your flow, click. To redo a change, click.
- View Properties: To access the flow version’s properties, such as context and API version.
- Layout: Choose between Auto-Layout or Free-Form. Auto-Layout is the default layout for all new flows.
- Warning/Error: These icons are displayed, if the flow has warnings or errors.
- Run Button: To run the most recent save of the flow version that’s open.
- Version Info: Next to the Run button, you can see the version’s active or inactive status and when it was last saved.
- Debug button: To debug the most recent save of the flow version that’s open. Define values for input variables, roll back changes so debugging doesn’t impact data, view debug details about how the flow runs, and use those details to troubleshoot errors.
- Activate Button: To make the current flow version available to your users.
- Save button: To save your flow
- Save As button: To save it as a new version or a new flow.
- Manager tab: To create resources, or to view a list of all elements and resources and their details.
- View resource and element details: To view resource and element details such as type, outputs, usage, and incoming go-to connections.
- Elements tab: To add elements in free form.
Build a flow on the canvas. As you add elements to the canvas, you can see a diagram of your flow.
4. Start Element
The Start element represents the start of the flow. The flow executes the elements in order following the Start element. In Record-Triggered flows and Schedule-Triggered flows, configure the Start element to indicate when you want the flow to start running.
- Connector: Click on it, to add elements in auto-layout, and then we can select an element, such as Create Records and Update Records.
- To add elements in free form, in the Elements tab in the Toolbox, click and drag an element onto the canvas and connect it to the rest of the flow.
- Element: Click on the Element, To edit or see options for it.
6. Zoom Button Bar
Use this button bar to zoom in and out of the flow.
Tools Available in Salesforcec Flows
There are 3 main tools of any Flow:
They are the individual building blocks of the Flow. These perform logical actions such as assignments, decisions, or loops. There are also data elements that will query the database or commit record changes. Some commonly used elements are:
- Screen Element: This element is only available in a screen flow and it allows you to show any kind of information to the user or if you want to collect any information from the user.
- Action Element: This element is used to perform any action in the flow which can be either Standard Actions (i.e Email Alerts, Approval) or Custom Actions (i.e Apex Actions).
- Subflow: This element allows us to call another flow from the current flow. It helps in creating the same flow again and again.
B. Logic Elements
- Decisions: It allows you to put conditions in the flow through which you can perform different actions on the basis of its outcome.
- Assignments: It is used to assign value to a variable.
- Loops: It is used to iterate collections of values in the flow.
C. Data Elements
- Create Records: It is an element that is used to create records from the flow. Through this element, we can create one or multiple records.
- Update Records: By using IDs and field values we can update the records through flow.
- Get Records: It is an element that is used to fetch records in the flow from the database.
- Delete Records: It is an element that is used to delete records in the flow from the database.
They determine the direction of flow implying which element leads to which.
Each resource represents a value that you can reference throughout the flow. Here is the list of resources that we can create:
- Variable: Store a value that can be changed throughout the flow.
- Constant: Store a fixed value that you can use throughout a flow.
- Formula: Calculate a value when the formula is used in the flow.
- Text Template: Store text that can be changed and used throughout the flow. To format the text, use HTML tags.
- Choice: Create a choice option to use in a screen component, such as a Radio Button or Multi-Select Picklist component.
- Record Choice Set: Generate a set of choices by using a filtered list of records.
- Picklist Choice Set: Generate a set of choices by using the values of a picklist or multi-select picklist field.
- Stage: Represent the user’s progress throughout the flow. To identify which stages are relevant to the user throughout the flow, assign the stages to the stage system variables.
- If the flow version contains Subflow elements, the active version of its referenced flow is executed. If the referenced flow has no active version, then the Subflow element runs the latest version of its referenced flow.
- The Actions and Related Records option is not available in case of deletion.
- Only one version of each flow can be active at a time.
- Some resources, such as global constants and global variables, are provided by the system.