Skip to main content

SF-0106 · Concept · Medium

What are the different options we have in workflow rule criteria?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026 · Updated for Spring '26

When you configure a workflow rule’s Rule Criteria, Salesforce gives you two ways to express the condition:

  1. Criteria are met — point-and-click filter logic across field-value comparisons
  2. Formula evaluates to true — a free-form formula expression

The split exists because filter logic covers ~80% of real cases and is faster to read, but you need formula for anything involving functions, cross-object math, or complex boolean logic.

Option 1 — Filter logic

You add rows like:

Stage  EQUALS  Closed Won
Amount GREATER THAN  10000

Then Salesforce combines them with AND by default. You can override with explicit filter logic like (1 AND 2) OR 3.

Strengths: easy to read, no syntax errors, every admin can maintain it. Limits: only field-vs-value comparisons; can’t call functions, can’t reference cross-object paths beyond simple parent fields, can’t do math.

Option 2 — Formula

You write a formula expression that must evaluate to a Boolean:

AND(
  ISPICKVAL(StageName, "Closed Won"),
  Amount > 10000,
  NOT(ISBLANK(Description)),
  ISCHANGED(Amount)
)

Strengths: full formula language available — ISCHANGED, PRIORVALUE, ISNEW, INCLUDES, cross-object refs, math, text manipulation. Limits: harder to read, easier to break with field-API-name changes.

When to pick each

Use Filter Logic when…Use Formula when…
Comparing fields to fixed valuesComparing fields to each other
All ANDs (or simple AND/OR)Complex boolean nesting
The rule has 1–4 conditionsThe rule needs ISCHANGED, PRIORVALUE, or ISNEW
You want the rule to be admin-maintainableYou’re comfortable with formula syntax

A formula-only example

You can’t express “fire when Amount increased” with filter logic alone — there’s no “previous value” available in filter rows. In formula:

AND(
  ISCHANGED(Amount),
  Amount > PRIORVALUE(Amount)
)

Same with “fire only on insert”:

ISNEW()

The trap: leaving criteria empty

Rule Criteria is mandatory — you cannot save a workflow rule with a blank criteria field. If you genuinely want the rule to fire on every save, see the follow-up How to skip the rule criteria when there’s nothing to check? — short answer, use a formula that’s always TRUE like 1=1.

What interviewers want

  • The two options named: filter logic and formula
  • Examples of when each is appropriate
  • Awareness that functions like ISCHANGED are formula-only

Verified against: Salesforce Help — Workflow Rule Criteria. Last reviewed 2026-05-17 for Spring ‘26 release.