As of Spring '22:

Example Formulas

My example object is a Contract object (but a Custom object)

IsActive__c

OR( ISPICKVAL(Status__c ,"Active"),
ISPICKVAL(Status__c,"Re-Contracting"))

IsClient__c

OR(ISPICKVAL(Account__r.Type,"Client"),
Account__r.NumActiveContracts__c > 0)

(NumActiveContracts__c is a DLRS that counts the No. of Active Contracts on the Account).

Flow Examples

Formulas in Trigger Conditions

Formulas in Decisions

In Before-Save Flows use $Record__Prior

In After-Save Flows use $Record

Using $Record in Before-Save Flows gives this error

Gotchas:

Assignments

In Before-Save Flows use $Record__Prior

If IsClient__c = true then add the special condition, otherwise blank.

In After-Save Flows use $Record

Using $Record in Before-Save Flows gives this error

Gotchas:

So, use formulas in Flow Triggers IF you can be sure they are stable formulas and be very careful to test what happens when the formula value changes!

Formulas in Updates

Again it’s a bit fat no from Before-Save Flows.

Formula Templates

Not Changed

{!$Record.Field__c} = {!$Record__Prior.Field__c}

IsChanged

{!$Record.Field__c} <> {!$Record__Prior.Field__c}

IsChanged and Was Blank

AND(NOT(ISBLANK({!$Record.Field__c})),ISBLANK({!$Record__Prior.Field__c}))

It seems weird to use IS in Prior context, not WAS.