Skip to main content
Run conditions are expressions that Databar evaluates for every row before running an enrichment. If the expression returns true, the row is processed. If it returns false, the row is skipped.
This gives you two advantages:
  • Better data quality: only enrich rows that meet your criteria, so you don’t waste processing on irrelevant data.
  • Lower cost: skipped rows do not consume credits.

Generate with AI

You don’t need to learn CEL syntax to use run conditions. Databar includes a built-in AI generator that writes the expression for you. Just describe what you want in plain English and the AI will produce the corresponding formula. For example, type “only run on rows where the country is US and the company has more than 50 employees” and the AI will generate {country} == "US" && {employee_count} >= 50.
You can also use LLMs like ChatGPT or Claude to help write CEL expressions. Just describe your table columns and the filtering logic you need.

Syntax basics

Run conditions are written using CEL (Common Expression Language), an open expression language created by Google. To reference a column in your table, type { and select the column name.
The expression above runs the enrichment only for US-based companies with 50 or more employees.

Operator reference

Comparison operators

Combining multiple conditions

Use logical operators to chain multiple conditions together in a single run condition expression.

Text operators

Math operators

List operators

Handling empty values

Always check for empty values before calling text operators like .contains() or .startsWith(). Calling these on an empty cell can cause unexpected behavior.

Examples

Simple conditions (single rule)

Combining two conditions

Combining three conditions

Combining four or more conditions

Tips

Before running an enrichment with a new condition across thousands of rows, use the Run single row option or filter your table to a small subset. This lets you verify the condition behaves as expected without spending credits.
When mixing && and ||, wrap groups in parentheses so the evaluation order is clear. Without parentheses, && binds more tightly than ||, which can produce unexpected results.
Use has({column}) or {column} != "" before operating on a column that might be empty. This prevents errors from calling .contains() or .startsWith() on a null value.
CEL is type-aware. If a column stores numbers as text, you may need to convert with int() before comparing:
Similarly, text comparisons are case-sensitive by default. Use .lowerAscii() to normalize.
Rows that fail a run condition are not sent to the data provider and do not consume credits. Use conditions aggressively to keep costs predictable.

FAQ

Yes. You combine multiple conditions in a single expression using && (AND) and || (OR) operators. For example, {country} == "US" && {employee_count} >= 50 && {email} != "" checks three conditions at once. There is no limit to how many conditions you can chain together. See Combining multiple conditions for the full syntax.
No. Rows that fail a run condition are never sent to the data provider and do not consume any credits.
Yes. Run conditions work with both single enrichments and waterfalls. The condition is evaluated before the waterfall starts, so skipped rows don’t trigger any providers.

Next steps

Enrichments

Learn how to add and run enrichments on your tables.

Automations

Combine run conditions with scheduled or event-driven automation.