Salesforce Flow Builder: A Practical Introduction

Quick Summary:

Flow Builder is Salesforce's current recommended automation tool, replacing both Process Builder and Workflow Rules for new automation. It's visual, no-code, and supports far more complex logic than either of its predecessors.

What Is Flow Builder?

Flow Builder lets you build automation visually — record-triggered flows that run on data changes, screen flows that guide users through a form, and scheduled flows that run on a time-based interval, all without writing Apex code. It replaced Process Builder and Workflow Rules as Salesforce's primary automation tool starting in 2022, and both older tools are now considered legacy for new development.

What makes Flow genuinely more capable than its predecessors is branching logic, loops, and the ability to call external services or invoke Apex directly from within the visual canvas — capability that simply didn't exist in Workflow Rules, and was clunky at best in Process Builder.

⚠️ Before You Start

If your org still has active Workflow Rules or Process Builder automations on the same object, plan carefully — running old and new automation on the same object simultaneously can create execution order conflicts or duplicate actions that are genuinely difficult to debug after the fact.

Flow Builder vs Process Builder vs Workflow Rules

ToolStatusComplexity SupportRecommended For
Flow BuilderCurrent, actively developedHigh (branching, loops, Apex calls)All new automation
Process BuilderLegacy, being retiredModerateExisting automation only
Workflow RulesLegacy, being retiredLow (field updates, email alerts only)Existing automation only

The Three Main Flow Types

Flow Types & When to Use Them

Record-Triggered Flow:
  Runs automatically when a record is created, updated, or deleted

Screen Flow:
  Guides a user through a multi-step form or wizard

Scheduled Flow:
  Runs on a recurring schedule (daily, weekly) independent of record changes

Building Your First Flow

  1. Go to Setup → Flows and click New Flow.

  2. Choose the flow type (start with Record-Triggered for your first one).

  3. Set the trigger object and condition (e.g. "when Opportunity Stage changes to Closed Won").

  4. Add elements to the canvas — Decision, Get Records, Update Records, Send Email.

  5. Always add a Fault Path from any element that could fail, so errors are handled instead of silently breaking the flow.

  6. Save, activate, and test with a real record before relying on it in production.

A Real-World Example

A common first flow: when an Opportunity's stage changes to Closed Won, automatically create a follow-up Task for the account owner, due 30 days later, with a description reminding them to check in on the client's onboarding progress. This single flow replaces what used to require a manual reminder or a separate calendar entry — and it never gets forgotten.

🚫 Common Mistake

Skipping fault paths. Without one, a flow that hits an unexpected error (a validation rule conflict, a required field left blank) fails silently — the automation just doesn't run, and nobody finds out until someone notices the expected result never happened, sometimes weeks later.

💡 Pro Tip

Use the built-in Debug feature (top right of Flow Builder) to trace exactly which path a test run takes through your logic before activating — it shows every decision branch and variable value along the way, which is far faster than guessing why a flow didn't behave as expected.

Frequently Asked Questions

Should I migrate existing Workflow Rules to Flow?

Not urgently — working Workflow Rules don't need to be replaced just because they're older technology. Salesforce provides a Migrate to Flow tool for when you do decide to move.

Can Flow call Apex code?

Yes, via Invocable Apex methods, which lets Flow handle complex logic beyond what the visual builder alone supports.

Why did my flow run twice on the same record update?

Usually caused by the flow updating the same record it's triggered on, which can re-trigger itself depending on the trigger configuration — check whether the flow is set to run only on create, or on both create and update.

Can a screen flow be embedded on a Lightning record page?

Yes, using the Flow component in Lightning App Builder, letting you embed a guided form directly on a record page rather than launching it separately.

What\'s the difference between Before-Save and After-Save flows?

Before-Save flows can update the triggering record itself without a separate database operation (faster, more efficient); After-Save flows run once the record is already committed and can update related records or send emails.

Can Flow send outbound API calls to external systems?

Yes, via HTTP callouts (Action elements calling named credentials or external services), letting Flow integrate with systems outside Salesforce without custom Apex.

How do I test a flow before activating it in production?

Use the Debug feature within Flow Builder, or build and test in a sandbox environment first before deploying to production via change sets or a deployment tool.

Is there a limit to how many flows can run per transaction?

Yes, Salesforce enforces governor limits on flow interviews and element executions per transaction — deeply nested or looping flows can hit these limits on high-volume operations.

Can I version control my flows?

Flow definitions can be retrieved as metadata and stored in version control (Git) as part of a standard Salesforce DevOps pipeline, same as other metadata types.

What happens to a flow\'s running instances if I deactivate it?

Already-running paused flow interviews (like a waiting screen flow) may be affected depending on the flow type; new records won't trigger a deactivated flow going forward.