Over the past few releases, Salesforce has established Flow Builder as the primary tool for declarative automation. Hiring recruiters are no longer asking just what a Flow element does; instead, they present complex business cases to test your architectural and structural decision-making. This guide walks you through real-world scenarios, record-triggered flow interview questions, and key execution boundary checks.
Before-Save vs. After-Save Flows
One of the most common questions in LWC and automation interviews is when to use before-save vs. after-save flows. Before-Save (Fast Field Updates) is triggered before the record is saved to the database. These are up to 10 times faster than Process Builders or standard flows because they bypass the Salesforce order of execution triggers and DML limits. Use this when updating fields on the record that triggers the flow. After-Save (Related Record Actions) is executed after the database save. Use this when updating related records, sending emails, or performing asynchronous callouts.
Beginner Flow Scenarios
Scenario 1: Update the Account rating based on a new Opportunity value.
Since we need to update a parent Account (related record) and not the triggering Opportunity itself, we must use an After-Save Record-Triggered Flow. Set the entry criteria to run when the Opportunity is created or updated, filter for the specific field change, use an "Update Records" element, and map the rating value to the parent Account.
Scenario 2: Validate that a contact phone number is populated when a contact is created.
For simple validations, use standard Salesforce Validation Rules instead of building a Flow. If complex query lookups are needed, use a Before-Save Record-Triggered Flow and update a validation flag or trigger a custom error element inside the flow.
Intermediate Automation Scenarios
Scenario 3: Prevent recursive updates in a record-triggered flow that updates the same record.
Recursion occurs when a flow updates a record, which triggers the flow again in a loop. To prevent this, define strict entry criteria in your Flow (e.g., check that the field value has changed using Is Changed = True or compare prior values) and select the "Only when a record is updated to meet the condition requirements" setting.
Scenario 4: Call external APIs asynchronously when a Case is closed.
Since web callouts cannot block user transaction threads, Closed Cases can trigger a Record-Triggered Flow with Scheduled Paths or use an Asynchronous Path to execute the callout (such as an Apex action callout) after the main transaction commits.
Advanced Architecture Scenarios
Scenario 5: Handle a complex daily data migration that updates 50,000 records.
Standard record-triggered flows will fail under massive migration loads due to governor limits. Instead, design a Scheduled-Trigger Flow configured to run during off-peak hours. Salesforce will automatically query the matching records and execute them in batches of 200, bulkifying the database queries and updates naturally.
Scenario 6: Reuse a complex discount calculation across multiple record-triggered flows.
To avoid duplicating logic, build the discount calculation inside an autolaunched Subflow. You can call this Subflow from your record-triggered flows. Note that Subflows are only supported in after-save flows and autolaunched flows.
Flow vs. Apex Decision Scenarios
Deciding between Flow and Apex is a core architect competency:
| Business Scenario | Recommended Tool | Architectural Reasoning |
|---|---|---|
| "Update parent Account address when Child Contact updates" | Record-Triggered Flow | Simple parent address mapping. Declarative is faster to maintain and runs efficiently. |
| "Generate PDF invoice and email it on Opportunity Closed Won" | Apex (Queueable / Trigger) | PDF rendering and custom document generation libraries require programmatic Apex. |
| "Sync Account record to external ERP via REST on update" | Flow + Apex Action | Use Flow for entry conditions and orchestration, call an invokable Apex action to execute HTTP callouts. |
"Update parent Account address when Child Contact updates"
Record-Triggered Flow
Simple parent address mapping. Declarative is faster to maintain and runs efficiently.
"Generate PDF invoice and email it on Opportunity Closed Won"
Apex (Queueable / Trigger)
PDF rendering and custom document generation libraries require programmatic Apex.
"Sync Account record to external ERP via REST on update"
Flow + Apex Action
Use Flow for entry conditions and orchestration, call an invokable Apex action to execute HTTP callouts.
Performance & Bulkification Questions
How does Flow ensure bulk safe execution?
When multiple records are updated simultaneously (e.g., via Data Loader), the Flow engine automatically batches them. However, if the Flow contains query elements (Get Records) or DML updates inside a Loop element, the engine cannot bulkify the requests, causing query limits to fail. Keep queries and updates out of loop structures.
FAQ Section (Salesforce Flow FAQs)
- Can we run a flow in system context? -> Yes. Screen flows and autolaunched flows can be configured to run in System Context (with or without sharing), allowing users to update records they do not have direct access to.
- How do you handle flow errors in production? -> Configure a 'Fault Path' on elements that perform database operations (like Update or Create) and use it to email administrators or write error logs to a custom object.
- What is a transaction boundary in Flow? -> A transaction boundary is the execution block that commits data together. If a flow element fails and there is no fault path, the entire transaction (including trigger DMLs) is rolled back.
Sharpen Your Automation Skills
To practice explaining before-save logic, Scheduled Paths, and subflow bulkification to technical recruiters, start a practice session on our Mock Interview page. You can review your flow competency on our Flow Interview page, or look at related topics on the Apex page and Governor Limits page.