Skip to Content

Conditional Formula

A normal column runs on every row. A column with a conditional formula runs only where the condition is true — and where it is false, nothing runs and nothing is billed.

It is the highest-leverage setting in the product. One condition above one expensive column is usually worth more than every other optimisation combined.


How it works

  1. Open the action column you want to gate
  2. Add the condition, referencing other columns as dynamic variables — type / and pick the column
  3. Test on a handful of rows and confirm both branches fire — some rows run, some are skipped
  4. Run the column

Skipped rows stay empty. They are not errors, and they can be run later by loosening the condition or filling the missing input.


Conditions worth having

Gate aboveConditionWhy
Contact enrichmentqualified = true AND role_matches = trueRemoves 60–80% of rows before your most expensive column
Researchqualified = true AND evidence IS NULLOnly research rows you would contact, and only where cheap sources found nothing
AI copyemail_status = "valid" AND evidence IS NOT NULLNever write copy for a row you cannot send to
Fallback providerwork_email IS NULLA fallback that runs unconditionally is not a fallback
Phone lookupscore >= thresholdThe most expensive column needs the tightest condition

The input to a condition is almost always a formula column — a score or a flag computed for free from columns you already paid for.


Where to place the gate

Directly above the first expensive step, not at the end of the table. A condition placed after the spend saves nothing.

sourcing → cheap columns → formula score → ⟨gate⟩ → enrichment → research → AI copy

Every column right of the gate inherits the saving.


Test the gate before you trust it

A condition reading a column that has not populated will pass everything or fail everything depending on how the comparison was written — and both look like a working pipeline. If your condition has never excluded a row, it has not been tested.

  • Run 20 rows and count the survivors by hand
  • Deliberately test the null case: what does the condition do when the input column is empty?
  • Compare the actual credit spend against what you expected. A large gap means a condition is not firing

What it saves

2,000 companies, three contacts each, gated before contact enrichment and research:

UngatedGated
Rows reaching contact enrichment6,000~1,400
Rows reaching research2,000~500
Rows reaching AI copy6,000~800

Roughly 75% less spend, and the contacts that survive are better qualified than any equivalent slice of the ungated run.


Conditional formula vs Auto Run

They solve different problems and stack well together:

  • Auto Run decides when a column fires — as soon as its trigger column returns a value
  • Conditional formula decides which rows it fires on

A column with both set runs automatically, on qualifying rows only.


Where to next