Flow trigger workflow actions have special behaviors and limitations.
Available in: Salesforce Classic
Available in: Enterprise, Performance, Unlimited, and Developer Editions
The pilot program for flow trigger workflow actions is closed. If you've already enabled the pilot in your org, you can continue to create and edit flow trigger workflow actions. If you didn't enable the pilot in your org, use the Flows action in Process Builder instead.
Understand these considerations before you create flow triggers or add them to workflow rules.
Flow triggers are available only for workflow rules. You can’t use them as actions elsewhere, for example, in approval processes.
Flow triggers are available on most—but not all—objects that are supported by workflow rules.
You can see the list of supported objects when you create a new flow trigger. From Setup, enter Flow Triggers in the Quick Find box, then click Flow Triggers.
Only active, autolaunched flows can be launched by flow triggers. However, if a flow trigger is in test mode, administrators run the latest flow version while other users run the active flow version.
Flows that are launched from workflow rules are run in system context, which means that user permissions, field-level security, and sharing rules aren’t taken into account during flow execution.
If a flow trigger fails at run time, the user who created or edited the record to meet the workflow rule criteria won’t be able to save the record.
To troubleshoot run time issues, see the flow action events in the Workflow category of debug logs, which show the flow version and the values passed into flow variables.
A flow trigger can set the values of up to 25 variables and sObject variables in the flow, with the following limitations.
Flow triggers can’t use multi-select picklist fields to set flow variables or sObject variables.
When a flow trigger uses a currency field to set a flow variable, only the amount is passed into the flow. Any currency ISO code or locale information is ignored. If your organization uses multiple currencies, the flow trigger uses the amount in the currency of the record that contains the specified currency field.
Flow triggers can’t pass values into sObject collection variables in flows.
Always keep one version of the flow active if it’s referenced by an active workflow rule’s flow trigger.
Once you activate a workflow rule using the flow trigger, don’t modify or add a version of the flow to include screens or other elements that would violate the run restrictions for an autolaunched flow.
If you modify a flow to no longer be autolaunched, it can’t be launched by flow triggers. To work around this situation, you can save the non-autolaunched flow as a new flow and change the new flow to become autolaunched. Then update the flow triggers to launch the new flow.
Flow triggers aren’t available as time-dependent workflow actions. You can add flow triggers to workflow rules only as immediate workflow actions.
When the system executes a workflow rule with multiple flow triggers, those flows aren’t run in any particular order.
In a transaction, flow triggers are executed after all workflow field updates, including any Apex triggers and standard validations that are executed as a result of those workflow field updates. After executing flow triggers, the system executes escalation rules.
Flows that are launched from workflow rules are governed by the per-transaction limits already enforced by Apex.
When flows are launched from workflow rules that are triggered by bulk loads or imports, the flows’ data manipulation language (DML) operations are executed in bulk to reduce the number of calls required and to optimize system performance. The execution of any of the following flow elements qualifies as a DML operation: Record Create, Record Update, Record Delete, Fast Create, Fast Update, or Fast Delete.
For example, suppose that you use Data Loader or the Bulk API to update 50 records, and those updates meet the criteria of a workflow rule with a flow trigger action. In response, the system executes 50 instances of the flow within the same transaction. Each instance of a running flow is called an interview. The system attempts to execute each DML operation across all the interviews in the transaction at the same time. Suppose that five of those interviews are executing the same branch of the flow, which has a Record Update element called “SetEntitlement.” The system waits for all five interviews to reach that element, and then executes all five record updates in bulk.