salesforce-flow-design

Validates Salesforce Flow designs for correct type selection, bulk safety, and fault handling.

38.5k|4.9k|Updated Jun 11, 2025
One-click install
npx skills add https://github.com/github/awesome-copilot --skill salesforce-flow-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: salesforce-flow-design
Source: https://github.com/github/awesome-copilot/tree/main/skills/salesforce-flow-design
Command: npx skills add https://github.com/github/awesome-copilot --skill salesforce-flow-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Salesforce Flows frequently fail in production due to governor limit violations, missing fault handling, and wrong flow type selection. This Skill provides a structured checklist to design and review Flows that are bulk-safe, fault-tolerant, and correctly typed before deployment.

Core Features & Use Cases

  • Flow Type Selection: Decision tables map use cases to Before-save, After-save, Screen, Autolaunched, Scheduled, or Platform Event–Triggered flows.
  • Bulk Safety Validation: Detects DML and Get Records operations inside loops and prescribes collection-based patterns and Transform elements.
  • Fault Path Enforcement: Lists every element type requiring fault connectors and defines a standard fault handler pattern.
  • Use Case: Before activating a Record-Triggered Flow on the Account object, run the checklist to confirm no overlapping Process Builder rules exist, all DML elements have fault paths, and the flow was tested with 200+ records.

Quick Start

Review my Record-Triggered Flow on the Opportunity object for bulk safety, fault handling, and correct flow type selection.

Frequently Asked Questions about salesforce-flow-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the right Salesforce Flow type?

Choose a Before-save Record-Triggered Flow when only updating the triggering record's own fields. Use After-save when touching related records, sending emails, or making callouts. Screen Flows handle guided user processes, while Scheduled Flows cover time-based batch work.

How do I make a Salesforce Flow bulk safe?

Never place Create, Update, Delete, or Get Records elements inside a Loop. Query all records before the loop, process them in collection variables, and perform a single DML operation after the loop ends.

Which Salesforce Flow elements need fault connectors?

Create, Update, Delete, and Get Records elements require fault connectors, along with Send Email, HTTP Callout, Apex invocable actions, and subflows that can throw faults. Route fault paths to logging and user-friendly error messages.

When should I use Apex instead of a Salesforce Flow?

Use Apex Queueable or Batch classes for complex multi-object logic, callouts, or high-volume processing. Simple field calculations belong in formula fields, and record save prevention belongs in validation rules rather than Flows.

Why does my Record-Triggered Flow cause infinite loops?

After-save flows that update the triggering record without a recursion guard re-fire themselves indefinitely. Add an entry condition such as ISCHANGED on a specific field or a recursion guard variable to prevent re-entry.