SlideShare a Scribd company logo
Talkin’ Bout Flow
Flow, Flow Components, Flow Actions, Best Practices, and Bears Oh My!
What’s Flow
Make Up Of Flows
● Palette
● Elements
● Resources
● Connectors
● Actions
● Components
Connectors
LABEL EXAMPLE DESCRIPTION
Unlabeled Identifies which element to execute next.
Decision outcome
Identifies which element to execute when the criteria
of a Decision outcome are met.
Pause configuration
label
Identifies which element to execute when an event
that’s defined in a Pause element occurs.
Fault
Identifies which element to execute when the previous
element results in an error.
For each item
Identifies the first element to execute for each iteration
of a Loop element.
After last item
Identifies which element to execute after a Loop
element finishes iterating through a collection.
Apex Action
Apex Action (Legacy)
Assignment
Toggle
Core Action
Create Records
Get Records
Decision
Elements
Delete Records
Email Alert
Loop
Pause
Screen
Start
Subflow
Update Records
Provided Screen Components
● Aura vs LWC
● Address
● Checkbox
● Checkbox Group
● Currency
● Date
● Date & Time
● Dependent Picklists
● Display Image
● Email
● File Upload
● Long Text Area
● Lookup
● Choice
● Multi-Select Picklist
● Name
● Number
● Password
● Phone
● Picklist
● Radio Buttons
● Slider
● Text
● Toggle
● URL
● Display Text
● Options fo
Flow Operators
Assignments
Conditions
Record Filters
Resources
● Choice
● Constant
● Formula
● Global Variables
● Global Constants
● Picklist Choice Set
● Record Choice Set
● Stage
● Example Implementations
● Text Template
● Variable
Components vs Actions?
Flow components go directly on a flow screen - Lookup field with filter criteria, a full component
with complex capabilities like sharing
Actions do something within your flow - navigate to a record, use IN to parse a list, etc.
They help you complete a piece of functionality that OOTB doesn’t have
Why? Because flow’s awesome and rather than build it all custom you can a tiny piece and go
declarative the rest of the way
Components? Actions? Should we see some? Demo it? I think so...
Stages? What? Why?
Stage are like your path
They required a custom component
You use with Assignment and Flow Global Variables
Should demo it? I think we should look at one and demo it
Flow’s and their Interviews
Interviews don’t perform actions—such as sending emails or creating, editing, or deleting records—until the associated transaction is complete.
You won’t have your emails, chatter posts, approval submissions, quick actions until the interview finishes, that’s a traction over, has a local
action, or hits a pause. Think about when you need it before using.
When an interview is in flight, the data in the interview isn’t saved to the Salesforce database. If the flow executes an element that creates or
updates records, such as Update Records or Post to Chatter, only the information configured in that element is saved to the Salesforce database.
When an interview executes a Pause element or a user pauses it, all the interview data is serialized and saved to the database as a Paused Flow
Interview record. When the interview resumes, the Paused Flow Interview record is deleted.
Lightning Flow Runtime Limitations
When Lightning runtime is enabled for your Salesforce org, flows in Lightning Experience don’t load in:
Web tabs
List buttons that are set to display an existing window with or without a sidebar
When Lightning runtime is enabled for your org, flows in Salesforce Classic don’t load in custom buttons or links that are set to
display in an existing window with or without a sidebar.
In number input fields, users can enter up to 17 digits, including digits before and after a decimal point.
Best Practices
● Always use a sandbox to create your flows and Process Builders
● Clicks before code
● Plan before building to determine:
○ if you should use “evaluate next criteria” vs “exist after criteria” for Process Builders
○ flow structure before building to eliminate number of elements to have to execute
○ the order of execution
○ Run through ideas with your team, peers, aa friend, design review board, get others input
■Just because you know flow doesn’t mean you know the right way, others
have other experiences, Eg. I run ideas by my boss Mr. Jim Rae, my team
Kenton, Patrick, Ohana, get input, it’s not your right or wrong it’s feedback
● Proper Descriptions for flow elements and process builders that describe the use
● Consistent naming convention for flow variables (i.e. varAccountId, sovarAccount,
socvarAccounts)
● Never hard code, this includes record type id’s, user id’s, etc. Instead make sure you use a
lookup (Get Records) or Global Variables properly.
Change Set Limits
Have everything referenced deployed or in the change set, you can’t reference something that doesn’t exist
Gotchas:
• Post to Chatter
• Send Email
• Submit for Approval - manual
For example, if you deploy a flow that includes a Submit for Approval element, manually add the referenced approval process.
If a flow references a Lightning component that depends on a CSP Trusted Site, the trusted site isn’t included in the change set
automatically.
Deploying Change Sets
You can include only one version of a flow in a change set.
An active flow in a change set is deployed to its destination as inactive. Activate the flow manually after deployment.
If the flow has no active version when you upload the outbound change set, the latest inactive version is used.
Deploying or redeploying a flow with change sets creates a version of the flow in the destination organization.
● Always check the if no results make null checkbox on Get Records, then go to a decision to see if
you found any records. This is a null check and is required.
● Do not Loop in a Loop
● DML at the end
○ Use assignment variables through out the flow to add items to a collection to do create &/or
update at the end. Do not update throughout
● Where possible use a screen flow over custom lightning component
● For dynamic variables use the Global Values in your flow using formula variables
● Make as few DMLs as possible and limiting them to the end of a flow, and using collections.
● Create an error handler as needed.
○ Screen flows should have Fault message screens for usability.
○ If needed, consider fault emails. Such as when a decision has an undesired outcome or when no
records are found.
● Build reusable actions when possible
○ I.e. quick actions for create records, email alerts for email notifications
● Know what triggers and what doesn’t trigger Process Builder’s
○ I.e. Picklist values are mass replaced (doesn’t fire) vs. A standard object in a master-detail
relationship is reparented (fires)
● To access external data after changing Salesforce data, use scheduled actions
○ I.e. An error will be thrown if you try and access external data in the same transaction as a Create,
Update, or Delete
● Person accounts cannot send email alerts, use the HTML Email flow component and a process builder
that launches a flow with the Flow Action to send an HTML email to Person Accounts
● For paused flows think through running users as deactivated users will cause
paused to fail
● Pause messages cannot be changed, instead use an event
● When testing a Flow with a wait (pause) has an error the record will save, you
need to check your inbox for the error email rather than assume testing was
successful
● When testing a Flow with a wait (pause) the testing is not complete until after
the interview has resumed and completed. This would be after all scheduled
actions have happened or have attempted to have happened
● Eg. If you have a notification that is sent via a flow with a wait for a birthday
email, the interview is not complete until after the birthday email send.
Pause
Resources
Confetti
Flow Stages
Install the Stages Components
Login Flow Blog Post
Unofficial Flow Site
AutomationHour

More Related Content

PPTX
Generating unit tests based on user logs
PPTX
Improved software testing using Visual Studio and TFS 2010
PPTX
Destination Documentation: How Not to Get Lost in Your Org
PDF
Double Loop: TDD & BDD Done Right!
PDF
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
PDF
Build Your Own Angular Component Library
PPTX
TAG Presents: NetSuite SuiteFlow 101
 
PPTX
Getting_Started_with_Salesforce_Flow_for_Developers_(In-person_event)_.pptx
Generating unit tests based on user logs
Improved software testing using Visual Studio and TFS 2010
Destination Documentation: How Not to Get Lost in Your Org
Double Loop: TDD & BDD Done Right!
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Build Your Own Angular Component Library
TAG Presents: NetSuite SuiteFlow 101
 
Getting_Started_with_Salesforce_Flow_for_Developers_(In-person_event)_.pptx

Similar to Talkin bout Flow - Meighan Brodkey WIT Devs (20)

PPTX
Double Loop
PPTX
Scrum Process Overview
PDF
linkTuner Webinar - March 2013
PPTX
GIAF UK Winter 2015 - Analytical techniques: A practical guide to answering b...
PPTX
Spring18 Release Highlights by Manish Thaduri
PPTX
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
PPTX
TrailblazerDX Motihari.pptx
PDF
Power of Flows and Prepare for Salesforce Admin Certification
PDF
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
PPTX
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
PDF
Lead Score Web Visitors For KILLER Remarketing, Upsell and Exit Intent Strate...
PPTX
Scrum à la Pablo (English)
PDF
PeopleSoft Test Framework Walkthrough
PDF
WEBINAR: Proven Patterns for Loading Test Data for Managed Package Testing
PPTX
PDF
Getting Started with Calc Manager for HFM
ODP
Python for Data Logistics
PPTX
BDD with SpecFlow and Selenium
PPT
About work flow
PDF
Practical DevSecOps: Fundamentals of Successful Programs
Double Loop
Scrum Process Overview
linkTuner Webinar - March 2013
GIAF UK Winter 2015 - Analytical techniques: A practical guide to answering b...
Spring18 Release Highlights by Manish Thaduri
#SalesforceSaturday Spring18 Release Highlights by Manish Thaduri
TrailblazerDX Motihari.pptx
Power of Flows and Prepare for Salesforce Admin Certification
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
IT SIMPLY WORKS! … UNTIL IT BREAKS. STANDARDS, BEST PRACTICE AND ENTERPRISE P...
Lead Score Web Visitors For KILLER Remarketing, Upsell and Exit Intent Strate...
Scrum à la Pablo (English)
PeopleSoft Test Framework Walkthrough
WEBINAR: Proven Patterns for Loading Test Data for Managed Package Testing
Getting Started with Calc Manager for HFM
Python for Data Logistics
BDD with SpecFlow and Selenium
About work flow
Practical DevSecOps: Fundamentals of Successful Programs
Ad

More from Meighan Brodkey (16)

PPTX
Demystify Community Cloud - Your Opportunity To Shine Externally
PPTX
Road to cta with Meighan Brodkey
PPTX
Community cloud use cases: Calgary User Group
PPTX
Community Cloud Sharing Webinar
PPTX
Community Cloud Sharing - Salesforce Security
PPTX
Meighan brodkey automation hour
PPTX
Forcelandia 19 How to Use Flow to Become a Developer
PPTX
How Flow Can Help You Become a Developer
PPTX
World Tour Chicago 2017: Intro to Lightning Communities
PPTX
Connections 18: Content Management Solutions for Lightning Communities
PPTX
Salesforce automation hour - Rollup Summary Fields with Lookups - Meighan Bro...
PPTX
Df18 cms and audience targeting presentation
PPTX
Df18 decoding developers level up your admin career 2018
PPTX
Salesforce automationhour meighanbrodkeyflowcomponents
PPTX
Automation hourwebinar meighanbrodkey_20161216
PPTX
Tracking Competitors In Salesforce for Sales Users
Demystify Community Cloud - Your Opportunity To Shine Externally
Road to cta with Meighan Brodkey
Community cloud use cases: Calgary User Group
Community Cloud Sharing Webinar
Community Cloud Sharing - Salesforce Security
Meighan brodkey automation hour
Forcelandia 19 How to Use Flow to Become a Developer
How Flow Can Help You Become a Developer
World Tour Chicago 2017: Intro to Lightning Communities
Connections 18: Content Management Solutions for Lightning Communities
Salesforce automation hour - Rollup Summary Fields with Lookups - Meighan Bro...
Df18 cms and audience targeting presentation
Df18 decoding developers level up your admin career 2018
Salesforce automationhour meighanbrodkeyflowcomponents
Automation hourwebinar meighanbrodkey_20161216
Tracking Competitors In Salesforce for Sales Users
Ad

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
A Presentation on Artificial Intelligence
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
Teaching material agriculture food technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
A Presentation on Artificial Intelligence
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Teaching material agriculture food technology
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Talkin bout Flow - Meighan Brodkey WIT Devs

  • 1. Talkin’ Bout Flow Flow, Flow Components, Flow Actions, Best Practices, and Bears Oh My!
  • 3. Make Up Of Flows ● Palette ● Elements ● Resources ● Connectors ● Actions ● Components
  • 4. Connectors LABEL EXAMPLE DESCRIPTION Unlabeled Identifies which element to execute next. Decision outcome Identifies which element to execute when the criteria of a Decision outcome are met. Pause configuration label Identifies which element to execute when an event that’s defined in a Pause element occurs. Fault Identifies which element to execute when the previous element results in an error. For each item Identifies the first element to execute for each iteration of a Loop element. After last item Identifies which element to execute after a Loop element finishes iterating through a collection.
  • 5. Apex Action Apex Action (Legacy) Assignment Toggle Core Action Create Records Get Records Decision Elements Delete Records Email Alert Loop Pause Screen Start Subflow Update Records
  • 6. Provided Screen Components ● Aura vs LWC ● Address ● Checkbox ● Checkbox Group ● Currency ● Date ● Date & Time ● Dependent Picklists ● Display Image ● Email ● File Upload ● Long Text Area ● Lookup ● Choice ● Multi-Select Picklist ● Name ● Number ● Password ● Phone ● Picklist ● Radio Buttons ● Slider ● Text ● Toggle ● URL ● Display Text ● Options fo
  • 8. Resources ● Choice ● Constant ● Formula ● Global Variables ● Global Constants ● Picklist Choice Set ● Record Choice Set ● Stage ● Example Implementations ● Text Template ● Variable
  • 9. Components vs Actions? Flow components go directly on a flow screen - Lookup field with filter criteria, a full component with complex capabilities like sharing Actions do something within your flow - navigate to a record, use IN to parse a list, etc. They help you complete a piece of functionality that OOTB doesn’t have Why? Because flow’s awesome and rather than build it all custom you can a tiny piece and go declarative the rest of the way Components? Actions? Should we see some? Demo it? I think so...
  • 10. Stages? What? Why? Stage are like your path They required a custom component You use with Assignment and Flow Global Variables Should demo it? I think we should look at one and demo it
  • 11. Flow’s and their Interviews Interviews don’t perform actions—such as sending emails or creating, editing, or deleting records—until the associated transaction is complete. You won’t have your emails, chatter posts, approval submissions, quick actions until the interview finishes, that’s a traction over, has a local action, or hits a pause. Think about when you need it before using. When an interview is in flight, the data in the interview isn’t saved to the Salesforce database. If the flow executes an element that creates or updates records, such as Update Records or Post to Chatter, only the information configured in that element is saved to the Salesforce database. When an interview executes a Pause element or a user pauses it, all the interview data is serialized and saved to the database as a Paused Flow Interview record. When the interview resumes, the Paused Flow Interview record is deleted.
  • 12. Lightning Flow Runtime Limitations When Lightning runtime is enabled for your Salesforce org, flows in Lightning Experience don’t load in: Web tabs List buttons that are set to display an existing window with or without a sidebar When Lightning runtime is enabled for your org, flows in Salesforce Classic don’t load in custom buttons or links that are set to display in an existing window with or without a sidebar. In number input fields, users can enter up to 17 digits, including digits before and after a decimal point.
  • 13. Best Practices ● Always use a sandbox to create your flows and Process Builders ● Clicks before code ● Plan before building to determine: ○ if you should use “evaluate next criteria” vs “exist after criteria” for Process Builders ○ flow structure before building to eliminate number of elements to have to execute ○ the order of execution ○ Run through ideas with your team, peers, aa friend, design review board, get others input ■Just because you know flow doesn’t mean you know the right way, others have other experiences, Eg. I run ideas by my boss Mr. Jim Rae, my team Kenton, Patrick, Ohana, get input, it’s not your right or wrong it’s feedback ● Proper Descriptions for flow elements and process builders that describe the use ● Consistent naming convention for flow variables (i.e. varAccountId, sovarAccount, socvarAccounts) ● Never hard code, this includes record type id’s, user id’s, etc. Instead make sure you use a lookup (Get Records) or Global Variables properly.
  • 14. Change Set Limits Have everything referenced deployed or in the change set, you can’t reference something that doesn’t exist Gotchas: • Post to Chatter • Send Email • Submit for Approval - manual For example, if you deploy a flow that includes a Submit for Approval element, manually add the referenced approval process. If a flow references a Lightning component that depends on a CSP Trusted Site, the trusted site isn’t included in the change set automatically. Deploying Change Sets You can include only one version of a flow in a change set. An active flow in a change set is deployed to its destination as inactive. Activate the flow manually after deployment. If the flow has no active version when you upload the outbound change set, the latest inactive version is used. Deploying or redeploying a flow with change sets creates a version of the flow in the destination organization.
  • 15. ● Always check the if no results make null checkbox on Get Records, then go to a decision to see if you found any records. This is a null check and is required. ● Do not Loop in a Loop ● DML at the end ○ Use assignment variables through out the flow to add items to a collection to do create &/or update at the end. Do not update throughout ● Where possible use a screen flow over custom lightning component ● For dynamic variables use the Global Values in your flow using formula variables ● Make as few DMLs as possible and limiting them to the end of a flow, and using collections.
  • 16. ● Create an error handler as needed. ○ Screen flows should have Fault message screens for usability. ○ If needed, consider fault emails. Such as when a decision has an undesired outcome or when no records are found. ● Build reusable actions when possible ○ I.e. quick actions for create records, email alerts for email notifications ● Know what triggers and what doesn’t trigger Process Builder’s ○ I.e. Picklist values are mass replaced (doesn’t fire) vs. A standard object in a master-detail relationship is reparented (fires) ● To access external data after changing Salesforce data, use scheduled actions ○ I.e. An error will be thrown if you try and access external data in the same transaction as a Create, Update, or Delete ● Person accounts cannot send email alerts, use the HTML Email flow component and a process builder that launches a flow with the Flow Action to send an HTML email to Person Accounts
  • 17. ● For paused flows think through running users as deactivated users will cause paused to fail ● Pause messages cannot be changed, instead use an event ● When testing a Flow with a wait (pause) has an error the record will save, you need to check your inbox for the error email rather than assume testing was successful ● When testing a Flow with a wait (pause) the testing is not complete until after the interview has resumed and completed. This would be after all scheduled actions have happened or have attempted to have happened ● Eg. If you have a notification that is sent via a flow with a wait for a birthday email, the interview is not complete until after the birthday email send. Pause
  • 18. Resources Confetti Flow Stages Install the Stages Components Login Flow Blog Post Unofficial Flow Site AutomationHour

Editor's Notes

  • #8: Flow Operators in Assignment Elements Use Assignment element operators to change the value of a selected resource. Flow Operators in Decision and Pause Elements Use condition operators to verify the value of a selected resource. Conditions are used in Decision elements and Pause elements. Flow Operators in Data Elements and Record Choice Sets Filter conditions narrow the scope of records that the flow operates on. For example, use filter conditions to update only the contacts that are associated with the Acme Wireless account. When you add an Update Records element, use filter conditions to narrow the scope to just the contacts whose parent account is Acme Wireless.
  • #9: FLOW RESOURCE DESCRIPTION CREATABLE FROM THE RESOURCES TAB Actions Output values that are stored automatically from Action elements. Choice Create a choice option to use in a screen component, such as a Radio Buttons or Multi-Select Picklist component. Constant Store a fixed value that you can use throughout a flow. Decision Outcome When you add a Decision element to a flow, its outcomes are available as Boolean resources. If an outcome path has already been executed in the flow interview, the resource’s value is True. Element Any element that you add to a flow is available as a resource with the was visited operator in decision outcome criteria. An element is considered visited when it’s executed in the flow interview. Any element that you add to a flow that supports a fault connector is available as a Boolean resource. If the element is already successfully executed in the flow interview, the resource’s value is True. If the element wasn’t executed or was executed and resulted in an error, the resource’s value is False. Formula Calculate a value when the formula is used in the flow. Global Constant Fixed, system-provided values, such as EmptyString, True, and False. Global Variable System-provided variables that reference information about the org or running user, such as the user’s ID or the API session ID. Unless otherwise specified, global variables are available only in flow formulas. Pause Configuration When you add a Pause element to a flow, its configurations are available as Boolean resources. If a configuration’s pause conditions are met, the resource’s value is True. If the configuration has no pause conditions set, the resource’s value is always True. Picklist Choice Set Generate a set of choices by using the values of a picklist or multi-select picklist field. Picklist Values System-provided values for picklist fields in record variables and record collection variables. Available only for Assignment elements and conditions. Record Choice Set Generate a set of choices by using a filtered list of records. Screen Component Any screen component that you add to a flow is available as a resource. The resource value depends on the type of screen component. The value for a Text component is what the user enters. The value for a Picklist component is the stored value of the choice that the user selects. The value for a Display Text component is the text that’s displayed to the user. 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. Text Template Store text that can be changed and used throughout the flow. To format the text, use HTML tags. Variable Store a value that can be changed throughout the flow.
  • #15: If you plan to deploy a flow with change sets, consider limitations in migration support. Make sure your flows reference only fields and components that are available in change sets. When you view the dependent components for the change set, the Component Dependencies page lists the dependencies for all versions of the flow. Add all interdependent components for the relevant flow version to the outbound change set. If a component is referenced by the following flow elements, the Component Dependencies page doesn’t display that component. To deploy the flow successfully, manually add those referenced components to the change set. Post to Chatter Send Email Submit for Approval For example, if you deploy a flow that includes a Submit for Approval element, manually add the referenced approval process. If a flow references a Lightning component that depends on a CSP Trusted Site, the trusted site isn’t included in the change set automatically. Deploying Change Sets You can include only one version of a flow in a change set. An active flow in a change set is deployed to its destination as inactive. Activate the flow manually after deployment. If the flow has no active version when you upload the outbound change set, the latest inactive version is used. Deploying or redeploying a flow with change sets creates a version of the flow in the destination organization.