Skip to content

Flow Scanner flags MissingFaultHandler for Subflow elements on fault paths in Record-Triggered Flows #306

@reddykrupananda

Description

@reddykrupananda

Describe the bug
We have a Record-Triggered After-Save Flow that performs DML (Create Group, Update record) and routes failures to an error logging subflow. Each DML element has a proper Fault connector routed to the logging subflow. The logging subflow itself includes fault handling for its internal Apex Action call.
However, Flow Scanner still flags MissingFaultHandler, specifically because the Subflow elements used for logging do not have their own Fault connectors in the parent record-triggered flow.
The issue is that Salesforce Flow Builder does not allow adding a Fault path on a Subflow element that is already placed on another element’s Fault path in a Record-Triggered Flow, which makes it impossible to satisfy Flow Scanner’s requirement for the Subflow element’s fault handler in this scenario.
This appears to be a false positive / rule mismatch between static analysis expectations and Flow Builder constraints for record-triggered automation.

Steps to reproduce
Create a Record-Triggered After Save flow on any object.
Add a Create Records element (or Update/Delete/Get/Action).
Add a Fault connector from the DML element to a Subflow element (logging subflow).
In the logging subflow, add an Apex Action element that can fail.
Add a Fault connector on the Apex Action within the logging subflow (e.g., to Assignment/End), so the subflow handles faults internally.
Run Flow Scanner against the parent record-triggered flow.

Actual Behavior
Flow Scanner flags the parent flow with MissingFaultHandler, indicating that the logging Subflow element has no Fault connector.
Additionally, in Flow Builder UI for record-triggered flows, it is not possible (or not supported) to add a Fault connector on the Subflow element when the Subflow element is already on a Fault path.

Expected Result
Flow Scanner should not flag MissingFaultHandler when:

  1. The upstream failing element (e.g., Create/Update Records) has a Fault connector, AND
  2. The fault connector routes to a logging mechanism where faults are handled internally (logging subflow with fault-handled Apex action), AND/OR
    3.The platform restricts adding nested fault connectors for subflow nodes on fault paths in record-triggered flows.

Environment
Salesforce Flow Type: Record-Triggered Flow (After Save)
API Version: 66.0
Org context: Record-triggered automation on custom object
Flow Scanner Rule: MissingFaultHandler
Logging mechanism: Subflow calling Apex action with internal fault handling

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions