Building a flow — WHEN, AND, THEN

Set the trigger, the conditions that must match, and the actions to perform on matching rows.

Last updated About 5 hours ago

Flow editor

Editing or creating a flow opens the Flow Editor. Give the flow a name at the top, then build it as three blocks: WHEN (the trigger), AND (the conditions that must match) and THEN (what to do to the matching rows). The example reads: when a row updates, AND its Amount field is 0 or less, THEN disable the row — hiding out-of-stock products automatically.

WHEN — the trigger

The trigger is Row updates: the flow runs every time the feed's rows are (re)ingested or changed. Add or edit data, pull a fresh source, or change a linked row, and your flows re-run.

AND — the conditions

Conditions decide which rows an action applies to. They are a reorderable list, and every condition must match for the actions to run (it is an AND, not an OR). A flow needs at least one condition — a flow with none does nothing. Each condition has a type:

ConditionWhat it checks
On Row TypeTargets a specific field (pick it with the field selector). It also chooses which field the conditions and actions below act on. Add a second On Row Type to also require a match on another field — letting one flow look at several columns at once.
On ValueCompares the field's value using an operator (below) plus a comparison value.
On EmptyMatches when the field is empty.
On Not EmptyMatches when the field has a value.

On Value operators:

OperatorMatches when the value…
isequals the comparison value
is greater / is greater or equalis numerically greater than / ≥ the value
is less / is less or equalis numerically less than / ≤ the value
contains / not containscontains / does not contain the text (case-insensitive)
starts with / ends withbegins / ends with the text (case-insensitive)

The greater/less operators compare numbers; the text operators ignore upper/lower case.

THEN — the actions

Actions run on every row whose conditions all match. Most actions let you choose Apply to: any (act on the field the conditions targeted) or a specific field (pick another field to change). The action types:

ActionWhat it does
UpdateSets a value. For a normal field it writes text; for an image or video field it becomes a media swap (pick an image/video from Drive), with a "use text value" option to switch back to text.
AppendAdds text to the start or end of the field. It is safe to re-run — if the text is already there it won't be added twice. (Empty fields are left untouched.)
ExpandSplits one field into several rows. Set a delimiter and a row count, then map each part (#1, #2, …) to a target field. Each part can be formatted as plain text or as a currency / leading-zero number. Use it to turn one combined value (e.g. "Cola, Fanta, Sprite") into a multi-row list.
QuantityBuilds priced rows from a quantity. For each row you set an amount and a target field; the flow multiplies a base price by that amount to produce a line total, and can apply bulk-discount tiers (a lower unit price once a quantity threshold is reached). Handy for "2 for…", "6-pack", or tiered pricing.
PresetApplies a saved row-style preset to the row (any field, or a specific one). It is automatic both ways: the preset is added while the condition matches and removed again as soon as the row no longer matches — so styling always tracks the data.
DisableHides the row entirely. Like Preset, it reverses automatically: the row is hidden while it matches and shown again when it stops matching. This is how "stock = 0 → hide, restock → show" works on its own.

Good to know

  • Flows run in order, top to bottom, and chain — a later flow sees the result of the earlier ones, so you can compute a value in one flow and format it in the next.
  • Manually edited cells are protected. If you've locked or hand-edited a value on a row, flows won't overwrite it — your manual change wins.
  • Linked rows update too. When a product is linked from a catalog into a list (or rows are linked across feeds), the result of a flow carries through to the linked copies, so you maintain the rule in one place.
  • Disable and Preset are self-reversing, so you don't need a second "undo" flow — they always reflect the row's current state.

Saving

Save stores the flow and a confirmation appears. The flow takes effect on the next ingest of the feed, and re-runs whenever rows update.