Top Salesforce Flow Interview Questions and Answers for 2023.
Q1. What is Salesforce Flow?
Salesforce Flow is an automation tool to collect data and perform actions in your Salesforce org or an external system. You can create Flows using Flow Builder.
Q2. What are the different types of Salesforce Flows?
Salesforce provides three types of flows:
- Screen Flows – guide users through a business process, capture users input
- Autolaunched Flows – do not have any trigger and they run in the background.
- Autolaunched Flow (No Trigger) – launches when invoked by Apex, processes, REST API and more
- Triggered Flows – autolaunched by a trigger you specify and they run in the background
- Record-Triggered Flow – launches when a record is created, updated or deleted
- Schedule-Triggered Flow – launches at a specified time and frequency for each record in a batch
- Platform Event-Triggered Flow – launches when a platform message is received
Q3. What is Flow Builder?
Flow builder is the declarative user interface used to build flows. Flow builder interface consists of four parts:
- Toolbox – contains the elements and resources you use to build your flow.
- Canvas – the working area, where you build a flow by adding elements.
- Layout Selection Picklist – select flow layout (Freeform or Auto-layout)
- Button Bar – buttons such as Save, Active Flow
Q4. List the Flow Types supported in Flow Builder.
Flow Builder supports below flow types:
- Screen Flow
- Autolaunched Flow with No Flow Trigger
- Autolaunched Flow with a Schedule Trigger
- Autolaunched Flow with a Record Trigger
- User Provisioning Flow
- Field Service Mobile Flow
- Field Service Embedded Flow
- Contact Request Flow
- Checkout Flow
- Orchestrator (Beta)
Q5. List various Flow Distribution Methods.
Flows can be distributed (made available to users) via:
- Flow actions
- Lightning pages
- Experience Builder pages
- Custom Aura components
- Custom Lightning web components
- Custom buttons or custom links
- Flow Orchestrator (Beta)
- Web tabs
- Direct flow URLs
- Visualforce pages
- Lightning Out
- Embedded Service deployments
Q6. What are Flow Resources?
Flow Resources represent values that you can reference throughout the flow. Some resources, such as global constants and global variables, are provided by the system. Other resources are created when you add an element to a flow. Some of the Flow Resources are listed in the table below.
|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.|
|Formula||Calculate a value when the formula is used in the flow.|
|Global Constant||Fixed, system-provided values, such as |
|Global Variable||System-provided variables that reference information about the Salesforce org or running user, such as the user’s ID or the API session ID.|
|Pause Configuration||When you add a Pause element to a flow, its configurations are available as Boolean resources.|
|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.|
|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.|
|Stage||Represent the user’s progress throughout the flow.|
|Text Template||Store text that can be changed and used throughout the flow.|
|Variable||Store a value that can be changed throughout the flow.|
Q7. What are the key Building Blocks of Flows?
Key Building Blocks of Flows are:
- Elements – represents an action that the flow can execute. Examples: display information or collect data from flow users, executing.
- Connectors – defines an available path that the flow can take at run time.
- Resources – represents a value that you can reference throughout the flow.
Q8. Explain Running User Context of a Flow.
Flows run in user context or system context. For a flow running in user context, the running user’s profile and permission sets determine the object permissions and field-level access of the flow. A flow that runs in system context has permission to access and modify all data.
Q9. What is a Flow Interview?
A Flow Interview is a running instance of a flow. When you run a flow interview, whether through a link, button, or tab, you’re running a single instance of a flow.
- Pause a Flow Interview – If your administrator has configured a given flow to do so, you can pause its interviews
- Resume a Flow Interview – If you paused a flow interview, resume it after you have all the necessary information
- Delete a Flow Interview – If you paused a flow interview and don’t plan to resume it, delete it. By removing unnecessary interviews, you make sure that your pending list includes only interviews that you still plan to act on
Q10. Explain Transaction with respect to Flows.
A transaction represents a set of operations that are executed as a single unit. Each flow interview runs in the context of a transaction. For example, creating an Account and a Contact. If one interview in a transaction fails, all the interviews and updates in the transaction are rolled back.
Because multiple Salesforce organizations share the same resources, to prevent one organization from depleting all the resources Salesforce enforces governor limits per transaction.
Q11. When Does a Flow’s Transaction Start?
Depending on how the flow was distributed, a transaction that runs an interview for that flow starts in different ways. The below table list some of the events:
|Distribution Method||Transaction Starts when …|
|Process Builder||A record is created or updated.|
|Flow URL||The URL is accessed.|
|Custom button or link||The button or link is clicked.|
|Visualforce page||The page is accessed.|
|REST API (Custom Actions or Flows resource)||When the REST call is made. Depending on how the REST call is implemented, the limits can be shared with other operations.|
Q12. When does a Flow’s Transaction End?
When a Flow’s transaction ends depends on flow elements it contains and how flow started. The Flow’s transaction ends when:
- A Screen, Local Action, or Pause element is executed
- The order of execution has completed—if the flow was triggered when a record was created or updated
- All the interviews in the transaction have finished
Q13. Explain some of the Flow Elements.
Each Flow Element represents an action that the flow can execute. Flow builder provides following Elements
|Interaction||Screen||Collect information from users who run the flow or show them some information.|
|Interaction||Action||Perform an action outside of flow.|
|Interaction||Subflow||Launch another flow that is available in your org.|
|Logic||Assignment||Set variable values.|
|Logic||Decision||Create paths for the flow to take based on conditions you set|
|Logic||Loop||Iterate over a collection of values or records.|
|Logic||Collection Sort||Sort items in a collection.|
|Logic||Collection Filter||Without changing the original collection, remove items based on a set of conditions.|
|Data||Create Records||Create Salesforce records using values from the flow.|
|Data||Update Records||Update Salesforce records using values from the flow.|
|Data||Get Records||Find Salesforce records and store their field values to use later in the flow.|
|Data||Delete Records||Delete Salesforce records.|
|Data||Rollback Records||Cancel pending record changes.|
Q14. What are Flow Connectors?
Flow Connectors determine the available paths that a flow can take at run time. On the canvas in Flow Builder, a connector looks like an arrow that points from one element to another.
|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.|
|Go To (Beta)||Identifies which element to go to and execute next.|
Q15. How can you call a Flow from a Quick Action?
- Create a Flow and Activate it
- Go to Object Manager, select Object (Example Account)
- In Buttons, Links, and Actions click on New Action
- Select Action Type: Flow
- Select the Flow created in Step 1
- Provide Label and Name and Click on Save
- Add the newly created Quick Action to the Page Layout
Q16. How can you call a Flow from related list button in Salesforce Lightning?
Step 1. Create a Flow and Activate it
Step 2. Copy the Flow URL
Step 3. Create a List button
Step 4. Add the newly created button to the Related list on the Page Layout
Q17. What is Salesforce Flow Orchestrator?
Read More: Salesforce Flow Orchestrator Explained
Q18. What are some of the Salesforce Flow Best Practices?
Read More: Salesforce Flow Best Practices
Q19. List some of the new Flow Features introduced in Salesforce Spring ’22 Release.
Q20. What is Salesforce Flow Trigger Explorer?
Salesforce Flow Trigger Explorer shows all of the flows that are associated with a specified object and that run when a record is created, updated, or deleted. You can access Flow Trigger Explorer via Setup -> Flows -> Flow Trigger Explorer.
Q21. How can you Troubleshoot Salesforce Flows?
To troubleshoot a failed flow interview, use the flow fault email. To test the flow and observe what happens as it runs, use the debug option in Flow Builder. To view the failed flow interview in an interactive environment, click Flow Error: Click here to debug the error in Flow Builder in the flow fault email.
- Emails About Flow Errors – Every time a flow interview fails, Salesforce sends an error email in the default language of the user who ran the flow. The email is sent to either the admin who last modified the associated flow or the Apex exception email recipients. The email includes the error message from the failure, details about each flow element that the interview executed, and a link to show the failed flow interview in Flow Builder.
- Control Who Receives Flow and Process Error Emails – When a process or flow interview fails, a detailed error email is sent to the admin who last modified the process or flow. But perhaps that admin isn’t the best person to read and act on the details of what was executed and what went wrong. Instead, you can choose to send error emails to the Apex exception email recipients, which you specify and control in Setup.
- Troubleshoot Flow URLs – If you’re distributing a flow and the custom button, custom link, or a direct flow URL isn’t working as expected, verify the referenced flow. In addition, verify its variables if you’re passing values into a flow from the URL.
Q22. What is an Invocable Method in Salesforce?
Invocable actions give developers an opportunity to write any complex logic in Apex and expose it into Flow Builder. In order to call an Apex method from Flow you will have to annotate that method with @InvocableMethod.
Q23. List some of the new Flow Features introduced in Salesforce Summer ’22 Release.
Q24. List some of the new Flow Features introduced in Salesforce Winter ’23 Release.
Q25. Explain Auto-Layout in Flows.
In auto-layout, Flow Builder automatically creates connectors when an element is added, and it removes connectors when an element is deleted.
To add an element in auto-layout, click where you want to place it, then select the element that you want to add. The new element is automatically connected to the elements before and after it on the path. You can place elements in the desired order, and move them to change the order of execution.
To copy single element, click the element, then from the options in the element panel, select Copy Element. To paste the element that you copied, click where you want to paste, then click Paste Copied Elements.
To copy multiple elements, click Select Elements, then click on each element that you want to copy. Then, to copy all selected elements to the clipboard, click . To paste the elements that you copied, click where you want to paste, then click Paste Copied Elements.
To cut an element, click the element, then from the options in the element panel, select Cut Element. To paste the element that you cut, hover over a where you want to paste and click .
To delete an element, click the element, then from the options in the element panel, select Delete Element.
Q26. Which user is used to run Schedule-Triggered flows?
The Automated Process user runs schedule-triggered flows.
Q27. Can a Schedule-Triggered flow make callout?
Yes! A schedule-triggered flow can make callouts only after executing a Pause element. For example, without a Pause element, the flow can’t access external objects, execute Apex actions that make callouts, or execute actions that are generated from External Services registrations.
You can insert a Pause element that pauses the flow for only a moment. Configure the resume event to pause until a specified time, with a specific time as the time source. For the base time, specify the
$Flow.CurrentDateTime global variable. Then set the offset to 0 hours. At run time, a Pause element that’s set up this way typically pauses the flow for less than a minute.
Q28. What is the order of execution when an Object has both Apex Triggers and Record-Triggered Flows?
When an Object has both Apex Triggers and Record-Triggered Flows the order of execution is:
- Before save record-triggred flows
- Before save apex triggers
- After save apex triggers
- After save record-triggered flows
Additional Salesforce Flow Resources
This article will be updated soon, please come back for latest and frequently asked Salesforce Flow Interview Questions and Answers!