Loading
Prepare for Email to Become the Default Login ExperienceRead More
Automate Your Business Processes with Salesforce Flow
How Entry Conditions Work in Record-Triggered Flows

How Entry Conditions Work in Record-Triggered Flows

Entry conditions control when record-triggered flows run. Use AND, OR, custom logic, or formula-based conditions in the Start element to run your flow only when the relevant records change.

Required Editions

View supported editions.

How Entry Conditions Work and Why They Matter

The Start element is central to every record-triggered flow. First select the object of the triggering record and then choose whether the flow triggers on record creation, update, or deletion.

Next, set up the entry conditions. Entry conditions limit when your flow runs. Without conditions, a flow runs on every record change, which can exceed governor limits or cause unintended automation. With conditions, the flow runs only when the record meets your criteria, which improves performance and keeps automation focused on the right records.

In the Set Entry Conditions section of the Start element, select how to evaluate the conditions: all conditions met (AND), any condition met (OR), custom logic is met, or a formula that evaluates to true. Review each option to understand its behavior.

Note
Note If you delete a custom field that’s referenced in a flow's entry criteria, formulas, or other flow elements, the flow fails at runtime with UNKNOWN_EXCEPTION: An unexpected error occurred. Salesforce prevents deleting custom fields that active or inactive flow versions reference, through dependency checking. Before deleting a custom field, check all flow versions and remove references from entry criteria, formulas, assignments, and other flow elements.

All Conditions Are Met (AND)

To run the flow when all conditions are true, use the All Conditions Are Met (AND) option. In the Set Entry Conditions section in the Start element, for Condition Requirements, select All Conditions Are Met (AND).

The flow runs only when a record transitions from failing at least one condition to meeting all of them. If a record already meets all conditions before and after an update, the flow doesn't run. Salesforce schedules any scheduled paths only when the previous record state didn't meet the requirements but the updated record does.

For example, a record-triggered flow runs when a user creates an account or updates an account to meet these conditions: Industry equals Agriculture AND Billing State equals CA.

For new records, Salesforce treats the before state as not meeting any conditions, so a new record that meets all conditions always triggers the flow.

Scenario Result

A new account where:

  • Industry = Agriculture
  • Billing State = CA
The flow triggers because the record meets both conditions. Salesforce schedules any scheduled paths.

A new account where:

  • Industry = Finance
  • Billing State = CA
The flow doesn't trigger. The record meets only one condition. Salesforce doesn't schedule any scheduled paths.

An existing account where:

  • Industry = Agriculture
  • Billing State = CA
  • Status = Negotiating

Updates to:

  • Industry = Agriculture
  • Billing State = CA
  • Status = Quote Sent
The flow doesn't trigger. The record met the conditions before the user updated the record, and the record still meets the conditions. Salesforce doesn't schedule any new scheduled paths, but already-scheduled paths stay scheduled.

An existing account where:

  • Industry = Finance
  • Billing State = CA

Updates to Industry = Agriculture

The flow triggers. The record didn't meet the conditions before the update, but now meets the conditions. Salesforce schedules and scheduled paths.

Any Condition Is Met (OR)

To run the flow when a record meets one or more conditions, use the Any Condition Is Met (OR) option. In the Set Entry Conditions section in the Start element, for Condition Requirements, select Any Condition Is Met (OR).

This option triggers the flow only when an update causes a record to transition from meeting none of the conditions to meeting at least one. If a record met at least one condition before the update, the flow doesn't run, even if the record meets more conditions later. Scheduled paths follow the same rule: they're scheduled only when the update triggers this transition. If an update causes the record to stop meeting any conditions, Salesforce cancels any already-scheduled paths.

For example, a record-triggered flow runs when a user creates or updates an account record and it meets at least one of these conditions: Industry equals Agriculture OR Billing State equals CA.

For new records, Salesforce treats the before state as not meeting any conditions, so a new record that meets at least one condition always triggers the flow.

Scenario Result

A new account where:

  • Industry = Finance
  • Billing State = CA
The flow triggers because one condition is met. Salesforce schedules any scheduled paths.

An existing account where:

  • Industry = Agriculture
  • Billing State = NJ

Updates to Billing State = CA

The flow doesn't trigger. The record met at least one condition before the user updated the record. Salesforce doesn't schedule any scheduled paths, but already-scheduled paths stay scheduled.

An existing account where:

  • Industry = Finance
  • Billing State = NJ

Updates to Industry = Agriculture

The flow triggers. The record didn't meet any conditions before, but at least one is met after the record update. Salesforce schedules any scheduled paths.

An existing account where:

  • Industry = Finance
  • Billing State = CA

Updates to Billing State = NJ

The flow doesn't trigger. After the update, the record meets none of the conditions, so Salesforce cancels any scheduled paths.

Custom Condition Logic Is Met

When you want to combine conditions in a specific way that isn’t simply all (AND) or any (OR), use custom condition logic. In the Set Entry Conditions section in the Start element, for Condition Requirements, select Custom Condition Logic Is Met. Then, in Condition Logic, enter an expression that references your conditions by number, such as 1 AND (2 OR 3).

The flow runs only when the custom logic expression evaluates to true for the triggering record. As with AND and OR, the flow runs only when a user creates or updates a record that makes the custom logic expression evaluate to true. Scheduled paths follow the same behavior as other condition types.

For example, a record-triggered flow runs when a user creates or updates an opportunity record that meets this condition logic 1 AND (2 OR 3).

  • Condition 1: Stage | Equals | Proposal
  • Condition 2: Amount | Is Changed | True
  • Condition 3: Close Date | Is Changed | True

The flow runs only when an opportunity is in the Proposal stage and the user updates either the Amount field or the Close Date field.

Scenario Result

New opportunity created with:

  • Stage = Proposal
  • Amount = 5000
  • Close Date = next month
The flow triggers because the record meets the custom logic. Salesforce schedules any scheduled paths.

Existing opportunity with:

  • Stage = Proposal
  • Amount = 5000
  • Close Date = next month

Updates to Amount = 10000.

The flow triggers. The record meets condition logic 1 AND (2 OR 3): Stage is Proposal and Amount Is Changed is true. Salesforce schedules any scheduled paths.

Existing opportunity with:

  • Stage = Proposal
  • Amount = 5000
  • Close Date = next month

Updates to Close Date = three months from now.

The flow triggers. The record meets condition logic 1 AND (2 OR 3): Stage is Proposal and Close Date Is Changed is true. Salesforce schedules any scheduled paths.

Existing opportunity with:

  • Stage = New
  • Amount = 5000
  • Close Date = next month

Updates to:

  • Stage = Proposal
  • Opportunity Source = Web
The flow doesn't trigger. The record meets condition 1, but doesn't meet condition 2 or 3 (Amount and Close Date weren't changed). Salesforce doesn't schedule any scheduled paths.

Considerations for Formula Evaluates to True

When your entry criteria are best expressed as a single formula, use Formula Evaluates to True. In the Set Entry Conditions section in the Start element, for Condition Requirements, select Formula Evaluates to True. Then enter a formula in the Formula field that returns true or false. The formula can reference fields on the triggering record and formula functions.

The flow runs only when the formula evaluates to true for the triggering record, even for new or updated records. Salesforce schedules or cancels scheduled paths using the same logic as other condition types.

For example, a record-triggered flow runs when this formula evaluates to true AND(Amount > 10000, TEXT(StageName) = "Proposal"). The flow runs only when the opportunity amount is greater than 10,000 and the stage is Proposal.

Scenario Result

New opportunity created with:

  • Amount = 15000
  • Stage = Proposal
The flow triggers. The formula evaluates to true. Salesforce schedules any scheduled paths.

Existing opportunity with:

  • Amount = 5000
  • Stage = Proposal

Updates to Amount = 20000.

The flow triggers. The formula was false before and is true after the update. Salesforce schedules any scheduled paths.

Existing opportunity with:

  • Amount = 15000
  • Stage = Proposal

Updates to Stage = Closed Won.

The flow doesn't trigger. The formula evaluates to false after the update. Salesforce cancels any scheduled paths.

When to Run the Flow for Updated Records

If your flow runs on record creation and update, or on update only, and you’re setting conditions, consider how often you want the flow to trigger on update. This setting appears only after you specify entry conditions.

In the Start element, under Set Entry Conditions, for When to Run the Flow for Updated Records select one of the following.

  • Every time a record is updated and meets the condition requirements — the flow runs on every update to the record, as long as the record meets your entry conditions after the update, regardless of whether the record already met the conditions before the update. Use this option when you want the flow to run on any change to a record that currently meets your criteria.
  • Only when a record is updated to meet the condition requirements — the flow runs only when a record transitions into meeting your entry conditions. If the record already met the conditions and still does after the update, the flow doesn’t run. Use this option to reduce unnecessary runs; it's also required when scheduling paths from the Start element.
 
Loading
Salesforce Help | Article