Home / flow
Flow skills (63)
Flow Builder: record-triggered, screen, scheduled and orchestration flows, fault handling, limits and testing.
- auto-launched-flow-patternsUse when invoking auto-launched Flows from Apex (Flow.Interview), from external systems via REST API, from Platform Events, or from other Flows (subflow element).
- fault-handlingUse when designing, reviewing, or troubleshooting Salesforce Flow fault handling, error logging, and bulk-safe automation paths.
- flow-action-frameworkUse when designing or troubleshooting Salesforce Flow actions in Flow Builder: standard and core actions, the Apex action element for @InvocableMethod classes, how list-shaped inputs and outputs map at the Flow–Apex boundary, subflows, and choosing between...
- flow-and-platform-eventsPublish and subscribe to Platform Events from Flow for async decoupling, high-volume triggers, and cross-org signaling.
- flow-apex-defined-typesDesign and use Apex-Defined Types as Flow variables for structured non-sObject data (HTTP callout payloads, External Service responses, complex configuration).
- flow-batch-processing-alternativesUse when a Scheduled Flow or Record-Triggered Flow needs to process more records than Flow can safely handle in a single run.
- flow-bulkificationUse when designing, reviewing, or troubleshooting Salesforce Flows that must survive data loads, integrations, or high-volume record changes without hitting transaction limits.
- flow-collection-processingUse when building or reviewing Flow logic that processes lists of records using Loop, Assignment, Collection Filter, Collection Sort, or Transform elements.
- flow-cross-object-updatesCross-object DML in Flow: updating parent from child or child from parent via Get/Update Records, lookup traversal in formulas, and bulkification.
- flow-custom-property-editorsDecide whether a Flow screen component or invocable action needs a Custom Property Editor at all, and if it does, what the design-time contract owes the admin: which configuration fields are genuinely unmanageable in the default property pane, how generic...
- flow-data-tablesUse the Data Table screen component for selecting rows from collections in Screen Flows, including single/multi-select and inline actions. NOT for displaying read-only data outside flows — use flow/screen-flow-choice-component-selection.
- flow-debuggingUse when diagnosing a Flow that does not run, runs but produces wrong results, fails silently, or shows an unexpected fault email.
- flow-decision-element-patternsStructure Decision elements in Flow: default outcome placement, outcome ordering, compound criteria, null-safe checks, Boolean vs Pick-list comparisons, and avoiding deep nested branching.
- flow-deployment-and-packagingMove a Flow from sandbox to production reliably — source format, version-on-deploy semantics, deploy vs activate, dependency bundling, Change Set vs SFDX vs Unlocked vs Managed, validate-then-quick-deploy, and rollback by activating a prior version.
- flow-dynamic-choicesBuild Flow choice sets from records, picklist fields, or collections, including dependent choices.
- flow-element-naming-conventionsCanonical naming conventions for Flow elements (Get_/Update_/Decision_/Loop_/Assignment_), resource variables (var/coll/map/formula/choice/constant/stage/screen), Decision branch outcomes, Stage/Step labels in Orchestrations, Subflow input/output contracts...
- flow-email-and-notificationsUse when sending emails, in-app bell notifications, SMS, or Slack messages from Salesforce Flow.
- flow-error-monitoringSet up monitoring + alerting for Flow runtime errors at org scale: routing fault emails, Flow runtime error reports, custom centralized logging (Application_Log__c), escalation thresholds, and trend detection.
- flow-error-notification-patternsUse when Flow fault emails are noisy, repeated, going to the wrong person, or need to go somewhere other than email.
- flow-external-servicesUse when calling external REST APIs from Salesforce Flow without writing Apex: registering API specs as External Services, using generated invocable actions in Flow Builder, using Flow's built-in HTTP Callout action (GA Spring '24+), configuring Named...
- flow-for-experience-cloudUse when embedding or exposing Salesforce Flows in Experience Cloud, especially for guest or external users, `lightning-flow` usage, site runtime differences, and data-access safety.
- flow-for-slackUse this skill when using Salesforce Flow Core Actions for Slack to send messages, create/archive channels, add users, check user connectivity, or post a Send Message to Launch Flow button — including the Salesforce for Slack managed package and...
- flow-formula-and-expression-patternsAuthor NULL-safe, type-correct, performance-aware Formula resources and condition expressions in Flow: lazy re-evaluation, BLANKVALUE/ISBLANK guards, ISPICKVAL vs =.
- flow-get-records-optimizationOptimize Get Records in Flow — filters, field selection, sort/limit, caching, avoiding queries in loops.
- flow-governanceUse when establishing operational standards for a Salesforce Flow portfolio, including naming conventions, ownership, version discipline, retirement of stale flows, and release readiness checks.
- flow-governor-limits-deep-diveCompute and budget governor-limit consumption per Flow type with worked math: SOQL, DML rows, CPU time, heap.
- flow-http-callout-actionCall external HTTP APIs directly from Flow using HTTP Callout actions (no Apex), handling auth, schema, and errors.
- flow-interview-debuggingDiagnose Flow failures using the Debug Log, Flow Error emails, and the Debug panel; instrument flows so production issues are triageable. NOT for Apex debugging - use apex/salesforce-debug-log-analysis.
- flow-invocable-from-apexAuthor @InvocableMethod Apex classes that Flow can call as Actions.
- flow-large-data-volume-patternsUse when Flows must stay healthy at large data volumes: total SOQL rows returned per transaction, unbounded Get Records, collection sizing, scheduled or record-triggered scale, and when to cap or move work async.
- flow-loop-element-patternsUse when reviewing or authoring Flow logic that contains a Loop element — DML-in-loop / SOQL-in-loop refactors, the collect-then-DML idiom, nested loops, and loop-free alternatives (Collection Filter, Transform, Get-with-criteria).
- flow-migration-from-triggerDecide whether an existing Apex trigger should be rewritten as a Flow, and execute the migration safely.
- flow-open-a-page-actionUse when a Screen Flow needs to send the user to another page — the native Open a Page action (Summer '26) that opens a Salesforce record or an external URL directly from a flow.
- flow-orchestration-patternsFlow Orchestration design patterns — multi-stage, multi-step flows where each step is itself an autolaunched flow or a screen flow assigned to a user / queue, with Work Items appearing in users' inboxes for interactive steps.
- flow-performance-optimizationTune Flow runtime performance: pick Before-Save over After-Save, consolidate Get Records, eliminate loop-DML, cache lookups, split with Scheduled Paths, and measure actual runtime.
- flow-platform-events-integrationUse when Flow is a Platform Event publisher, subscriber, or both.
- flow-reactive-screen-componentsBuild reactive Flow screens where one component updates another without navigation using reactive formulas and component outputs. NOT for Aura-based screens — use flow/flow-screen-input-validation-patterns.
- flow-record-locking-and-contentionDiagnose and prevent UNABLE_TO_LOCK_ROW + parent-record contention in record-triggered, scheduled, and screen flows by mapping the implicit lock chain and applying decouple patterns (Platform Events, Queueable handoff, Scheduled Paths).
- flow-record-save-order-interactionReason about how record-triggered flows interleave with the Salesforce Save Order (validation, before-save flows, before triggers, duplicate rules, after-save flows, workflow, after triggers, assignment, auto-response, escalation).
- flow-resource-patternsFlow resource types and when to use each: Variables, Collection Variables, Constants, Formulas, Text Templates, Choices, Stages, Picklist Choice Sets, Record Choice Sets.
- flow-rollback-patternsUse the Flow Rollback Records element to undo DML inside the current transaction.
- flow-runtime-context-and-sharingFlow runtime sharing context — run in user vs system mode, record access in Flow. Triggers: Flow sharing, run in system mode, Flow user context. NOT for Apex sharing declarations — use apex/apex-with-without-sharing-decision.
- flow-runtime-error-diagnosisUse when a Salesforce Flow throws a runtime error, sends an unhandled fault email, or produces unexpected results in production or sandbox.
- flow-screen-input-validation-patternsDesign input validation inside Screen Flow screens using component-level <validationRule> (formula + errorMessage), isRequired, cross-field rules on the second field, reactive components, and screen-level Decision fallbacks for cross-screen checks.
- flow-screen-lwc-componentsDesign custom Lightning Web Components that render inside Screen Flow steps — covers the lightning__FlowScreen target, @api properties as Flow inputs/outputs, FlowAttributeChangeEvent propagation, FlowNavigationNext/Back/Finish/Pause events, the @api...
- flow-testingUse when defining or reviewing test strategy for Salesforce Flow, including Flow Tests, debug runs, path coverage, test data, and explicit validation of fault paths and custom component behavior.
- flow-time-based-patternsTime-based execution in Salesforce Flow — Scheduled Paths in record-triggered flows (delays measured against a record date or trigger fire time), the Wait element in autolaunched / orchestration flows, scheduled flows on a cron-like cadence, the offset...
- flow-transaction-finalizer-patternsUse when a Flow needs to do work that must survive the triggering transaction — post-commit notifications, callouts, audit rows, or compensating actions.
- flow-transactional-boundariesReason about when a Flow is inside the caller's transaction vs starts its own.
- flow-versioning-strategyManage Flow versions: activation policy, paused interview compatibility, cleanup cadence, and breaking-change detection.
- orchestration-flowsUse when designing or reviewing Flow Orchestration for long-running, multi-user, or asynchronous business processes with stages, steps, work items, and monitoring needs.
- pause-elements-and-wait-eventsUse this skill when designing or troubleshooting flows that need to suspend execution and wait for an external signal — either a time-based alarm or a platform event.
- process-builder-to-flow-migrationMigrate Process Builder processes to record-triggered Flows using the native Migrate to Flow tool or manual rebuild.
- record-triggered-flow-patternsUse when designing or reviewing Salesforce record-triggered Flows, especially before-save vs after-save behavior, entry criteria, recursion avoidance, and when to escalate to Apex.
- recursion-and-re-entry-preventionUse when a record-triggered Flow re-fires on the same record because its own DML (or a downstream Flow's DML) re-satisfies the entry criteria — causing CPU-limit failures, duplicated side effects, or 'Maximum Trigger Depth Exceeded' errors.
- scheduled-flow-not-running-debugUse when a Schedule-Triggered Flow is configured but is not firing at the expected time, or appears active in Setup → Flows but never produces output.
- scheduled-flowsUse when designing or reviewing schedule-triggered flows for recurring automation, replacement of time-based workflow patterns, bounded record selection, idempotent processing, and escalation to Apex when volume is too high.
- screen-flow-accessibilityScreen Flow accessibility — WCAG 2.2 AA, labels, keyboard, error announcements. Triggers: accessible Screen Flow, Flow WCAG, screen reader Flow. NOT for LWC component a11y inside screens — use lwc/lwc-accessibility.
- screen-flow-choice-component-selectionUse when picking which Screen Flow component collects a choice from users — Picklist, Radio Buttons, Radio Button Group (Summer '26), Multi-Select Picklist, Checkbox Group, Choice Lookup, Dependent Picklists, or Data Table — and which Choice resource (Choice...
- screen-flow-radio-button-groupUse when adding or configuring the Summer '26 Radio Button Group screen component in a Screen Flow — the compact choice input that lays options out as horizontal boxes on desktop and vertical boxes on mobile, single-select by default with a 'Let Users Select...
- screen-flowsUse when designing or reviewing interactive Flow screen experiences, including navigation, validation, screen component choice, custom LWC screen components, and user-safe commit timing.
- subflows-and-reusabilityUse when extracting reusable Flow logic into subflows, defining input and output variables, keeping parent flows maintainable, and sharing common automation contracts across multiple flows.
- workflow-rule-to-flow-migrationMigrate Workflow Rules to record-triggered Flows: field update mapping, email alert migration, outbound message alternatives using Flow Core Actions, time-based workflow replacement with Scheduled Paths.