+, -, /, and *. That makes it the right tool for ratios, multipliers, and running totals. It is a poor fit for anything that needs powers (exponents) or remainders (modulo).
Inputs
The block reads each variable as a number. A currency value contributes its numeric amount. So when you multiply a currency by a plain number, you get a number in the same currency scale.
Outputs
Reference the result in a later block as
{{ steps.formula.result }}.
Behavior
The block evaluates the expression once per run and returns a single number. It does not write the result anywhere on its own. To store the result on a record, pass{{ steps.formula.result }} into an Update record or Update list entry block later in the workflow.
An empty or null variable has no numeric value. So an expression that references one can fail the run instead of treating the variable as zero. Give each variable a fallback to keep that from happening.
The operator set is limited to +, -, /, and *. Because of this, multi-step math is best split across more than one Formula block. Compute an intermediate result in the first block, then feed {{ steps.formula.result }} into the next.
Gotchas
- An empty variable fails the run. A referenced variable can be null, for example an
mrrattribute that was never filled in. When that happens, the expression has no number to operate on and the block errors. Wrap the variable in a fallback so it resolves to a number, such as{{ trigger.record.mrr | default: 0 }}, before it reaches the formula. - The result vanishes unless you save it. Formula returns
{{ steps.formula.result }}as a run variable only. It never writes to a record by itself. Add an Update record block after it to persist the value to an attribute. - Unsupported operators are rejected. The block accepts only
+,-,/, and*. Operators outside that set, such as exponentiation (^) or modulo (%), are not available. For a power, a remainder, or any expression the four operators cannot express, use the Execute code block instead. - A long chained expression breaks silently on edit. Packing several operations into one expression makes it hard to audit and easy to mis-edit. Keep each Formula block to one readable calculation. Split multi-step math across several blocks so a teammate can follow it.
Examples
Calculating annual recurring revenue from monthly
This formula turns a monthly recurring revenue attribute into an annual figure and writes it back to the deal.
For a deal with an
mrr of 4000, the block returns 48000. Pass {{ steps.formula.result }} into an Update record block to save it to the arr attribute.
Computing a win rate with a null-safe denominator
This formula divides closed-won deals by total deals to produce a win rate, guarding against a zero or empty total.
For
30 won deals out of 120 total, the block returns 0.25. The default: 1 fallback keeps an empty total from failing the run. A downstream Update record block then writes the rate onto the company.
Applying a discount multiplier to a quote
This formula multiplies a currency amount by a discount factor to compute a net price.
For a
list_price of 2000 USD, the block returns 1700, expressed in the same currency. Store it on the net_price attribute with an Update record block.