Loading

Business Rules Engine: Refresh Decision Table flow action fails with 'Refresh_DT (FlowActionCall). null' after Spring '26

Publish Date: May 27, 2026
Description

This article explains why the Refresh Decision Table flow action fails with "Refresh_DT (FlowActionCall). null" after the Spring '26 release and how to resolve it so the Decision Table refreshes again after financial or business rule updates. Customers describe this as: "we failing on Refresh_DT (FlowActionCall). null thats mean we are not refreshing the decision table in our org after updaing the finnancial rules" and "it was working perfect 2 years and after the release of spring 2026 in main org its failing on this error". Trigger conditions: a Schedule-Triggered or Record-Triggered Flow contains an Action element of type Refresh Decision Table that targets a Decision Table whose source sObject data contains null values, or whose configuration produces a no-match result for one or more input rows. Before Spring '26, those scenarios proceeded silently; from Spring '26 the Business Rules Engine enforces stricter validation of null input values and no-match outcomes in Decision Tables and Expression Sets, and the action fails the FlowActionCall with a null error. Affected products: Salesforce Business Rules Engine (BRE) Decision Tables and Expression Sets, in Lightning Experience, on Enterprise, Unlimited, or Developer editions with BRE enabled. The Decision Table itself remains active, but the Last Refreshed Date is not updated and downstream Expression Sets read stale data. No Known Issue ID is currently published for this behavior; it is the documented Spring '26 enforcement change.

Resolution

Follow the steps below in order. The fix is to handle null and no-match scenarios explicitly so the Refresh Decision Table action no longer fails under Spring '26 validation, then verify with a manual full refresh.

  • Cause 1: Null values in Decision Table source data
    1. From Setup, in the Quick Find box, enter Decision Tables, then select Decision Tables.
    2. Open the Decision Table referenced by the failing Refresh Decision Table action (the [DecisionTableApiName] value used in the Flow action).
    3. Review the source sObject or custom metadata type that supplies the input columns. Identify any input field that can contain null values in production data.
    4. Open the Expression Set that consumes this Decision Table at App Launcher > Business Rules Engine > Expression Sets.
    5. Deactivate the Expression Set version, then add an explicit null check before the Decision Table step using the IsNull or IsNotNull operator on each nullable input field. For each nullable input, branch to a default value or to a step that skips the lookup.
    6. Save and activate the Expression Set version.
  • Cause 2: No-match (default outcome missing) on the Decision Table
    1. From App Launcher, select Business Rules Engine, then Lookup Tables.
    2. Open the Decision Table and click the Related tab, then open the active Decision Table Version.
    3. Add a catch-all row whose input columns use a wildcard or the broadest operator allowed for each input data type, and set the output columns to the desired default outcome. This row must be the lowest priority (highest sequence number) so it only fires when no other row matches.
    4. Activate the Decision Table Version. Activation can take several minutes.

Manual full refresh and Flow reactivation
1. From Setup, in the Quick Find box, enter Decision Tables, then select Decision Tables.
2. Select the active Decision Table, then click Refresh to perform a full refresh. Wait for the Refresh Status to complete and the Last Refreshed Date to update. A full refresh is required at least once on an active Decision Table before any incremental refresh.
3. From Setup, in the Quick Find box, enter Flows, then select Flows. Open the Flow that contains the failing Refresh Decision Table action.
4. On the Action element, confirm the DecisionTableApiName field still contains the exact API name of the corrected Decision Table, and that Is Incremental [IsIncremental] is set to Global Constant True only if you have already performed a full refresh.
5. Right-click the Action element and select Add Fault Path. In the fault path, add an Action element that sends an email alert to a Salesforce admin so future failures are surfaced.
6. Save and activate the Flow.

Confirm the issue is resolved by triggering the Flow (run the Schedule-Triggered Flow on demand from Setup > Flows, or update a record matching the Record-Triggered Flow criteria), then opening the Decision Table in Business Rules Engine and verifying the Last Refreshed Date has updated and the Flow run shows no "Refresh_DT (FlowActionCall). null" error in the Flow interview log.

Knowledge Article Number

005385215

 
Loading
Salesforce Help | Article