Skip to main content
Introduction to Flows
Updated over 8 months ago

Flow is a tool within Salesforce that helps automate complex business processes. The main mechanics of a flow automation is to collect data in some way and then does something with that collected data.

Flow automations are created in Flow Builder which is an interface that is used exclusively for the creation and modification of these automations.

In this article you will learn:

  1. When Flows are Needed

  2. Anatomy of a Flow

  3. Flow Categories

When Flows are Needed

Flows have the capability to:

  • Create, edit, and delete records within Salesforce

  • Launch actions such as sending emails or tasks

  • Show relevant data and gather input from users

  • Generate outbound messages or create chatter messages

  • And much more!

Flows are necessary for so many reasons, but a couple examples of when a flow would be necessary is as follow:

  • When an organization wants a more "hands off" business process that can run in the background with limited user intervention and a high level of accuracy.

  • When an organization wants to be notified of certain process progressions, field changes, date reminders, etc.

  • When an organization needs an alternative to process to current manual workflows such as drip campaigns.

There are some limitations to what flow automations can accomplish. Some automations would be better by using Apex Code vs. a typical automation. Apex Code cases often need to be carried out by a developer or a 3rd party consulting group.

Anatomy of a Flow

Here is an example of a Flow:

Flow Builder UI
  1. Button Bar

    1. Here is where you can manage your flow. This includes the activation and save buttons as well as the debug button. Debugging is how you test whether your flow is actually functioning correctly without activating it.

  2. Toolbar

    1. View and build the resources and elements you need for your flow.

    2. Resources are references to values used throughout the flow such as formulas and field values. Click the link to learn more about Flow Resources

  3. Canvas

    1. This is the section where you actually create your flow

  4. Start Element

    1. This element is used to identify which object you'd like the flow to start on and what criteria you'd like to trigger this automation

  5. Elements

    1. Elements are the building blocks to your automation. These are often actions your flow is instructed to take such as making a decision according to a field value or updating/creating a record.

    2. Click the link to learn more about Flow Elements

  6. Zoom Button Bar

    1. These 3 buttons are used to zoom in or out of sections of your flow. Sometimes flows can get pretty long or wide so being able to zoom in and out is extremely helpful.

Flow Categories

Flows can be separated into 5 categories:

Screen Flows:

  • These are flows that have a UI (User Interface) element and requires input from users. This type of flow is either launched as an action or embedded as an element/Button on a Lightning page.

    • Example: When a Contact calls in and requires a new case to be made, A screenflow can walk a user through what information is necessary to complete that new case form. This way users do not miss critical information.

Schedule-Triggered Flows:

  • These autolaunched flows launch at a specified time and frequency for each record in a batch, and they run in the background.

    • Example: You want to be notified if a close date has been set on a deal, but the status has not been moved to an appropriate closing status. You can use this flow to trigger an email notifying you X days prior to the close date, that the status has not been updated for some reason. With this, you can then investigate why the status is not correct.

Autolaunched Flows (No Trigger):

  • Run automated tasks with this flow type. Autolaunched flows can be invoked from other flows (subflow), process builder, from within an Apex class, from a set schedule, from record changes, or from platform events.

  • These flows are designed to quickly make simple changes to a record when the record is created, updated, or deleted. They can also be configured to make those changes either before or after the record has been saved to the database.

Record-Triggered Flows:

  • These autolaunched flows run in the background either before a record save or after the record is saved when a record is created, updated, or deleted.

    • Example: You want to be notified if a customer has complained and why so you can better improve the customer experience. You can create a flow to send you a task or email notifying you that there is a record needing your review. This flow is triggered when a user creates or edits a record to indicate the "Customer Complaint" box field has been checked and the "Complaint Reason" Field has been filled in.

    • Example: When a user creates a contact record that has the "Do Not Call" checkbox checked, the flow will automatically update all the "Opt Out" checkboxes to be checked as well. This can prevent communication campaigns from going out if other automations launch email communications to customer.

Platform Event-Triggered Flows:

  • When a platform event message is received, these autolaunched flows run in the background.

    • Example: Whenever you get an error message from a failed flow automation, this flow will provide additional details on why the flow was unsuccessful.

For Visual Learners, Check out the interactive tutorials on Trailhead: Flow Builder Basics

Did this answer your question?