Make Flows Respect Access Modifiers for Legacy Apex Actions (Update, Postponed)

This release update is postponed to Spring ’21. It was scheduled for auto-activation (enforcement) in Summer ’20. With this release update enabled, developers can trust that their legacy Apex actions are properly protected and available only to other components in their managed packages. This update makes a flow fail if it contains a public legacy Apex action.

Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.

Why: This update resolves an issue where flows don’t respect the public access modifiers for legacy Apex actions. The issue affects only legacy Apex actions that reference Apex classes installed from managed packages.

Legacy Apex actions were formerly known as Apex plug-ins. When you define an Apex class that implements the Process.Plugin interface in your org, it's available in Flow Builder as a legacy Apex action.

Note

Note

For new Apex integrations, we recommend using the InvocableMethod annotation instead of the Process.Plugin interface. This update doesn't affect invocable Apex methods.

With this update enabled:
  • Flows fail when they execute public legacy Apex actions.
  • Public legacy Apex actions aren't available in Flow Builder.
  • Global legacy Apex actions with public describe or invoke methods are unavailable to flows in a different namespace.

Without this update, you can add public legacy Apex actions to flows even though they’re not supported. Also, global legacy Apex actions with public describe or invoke methods are available to flows in a different namespace.

When: This update is enforced in the Spring ‘21 release. To get the major release upgrade date for your instance, go to Trust Status, search for your instance, and click the maintenance tab.

How: We recommend that you test this update in a sandbox or developer org before activating the update in production. If you must work in your production org, do so during off-peak hours. Test all paths that contain legacy Apex action elements and make sure your flows work correctly. If a legacy Apex action is important for a business process but isn’t supported with this update, contact the package developer. The developer can consider making a legacy Apex action global, or rebuilding the functionality in a new Apex class.

To apply this update, from Setup, in the Quick Find box, enter Release Updates, and select Release Updates. For Make Flows Respect Access Modifiers for Legacy Apex Actions, follow the testing and activation steps.