Blocks

Get from store

The get-from-store step: read one keyed row from a workspace data store, or pull a batch of rows that still need work.

Read from a workspace data store — the durable tables your workflows share. Two modes:

  • by_key — fetch one row by its key.
  • list — fetch a batch of rows still missing a field: the work-queue read.

Config

The get-from-store step in the Inspector Store, mode, and the key (or the missing-field filter).

  • Store — pick the store (created in Settings → data).
  • Row key (by_key) — template-rendered: {{ payload.id }}.
  • Missing field (list) — a literal field name; returns only rows whose data lacks it. Batch size defaults to 50 (cap 500), keyed ascending so batches are deterministic.

Output

// by_key — a missing row is NOT an error:
{ "found": true, "key": "41051", "data": { "fee_cents": 7600 }, "updated_at": "…" }

// list:
{ "rows": [ { "key": "…", "data": { } } ], "count": 50 }

Patterns

  • Lookup + branch — by_key → if on payload["found"] — cache-style "have we seen this?" checks.
  • Work the queue — list with a missing field → loop over payload["rows"] → do the work → save to store keyed {{ payload.item.key }}. Each run drains one batch; count: 0 means done.

Gotchas

  • A missing row returns found: false, never a failure — branch on it when absence matters; don't rely on the step stopping the run.
  • Row fields live under data: reference {{ payload.data.fee_cents }}, not {{ payload.fee_cents }}.