Blocks
Save to store
The save-to-store step: upsert a keyed row into a workspace data store — schema-validated on every write, readable by workflows and the REST API.
Write one keyed row into a workspace data store. Same key → the row is replaced; new key → inserted. Every write is validated against the store's schema, and the row records which run wrote it.
Config
Store, row key, and the field assignments forming the row.
- Store — pick the store (created in Settings → data with a name and schema).
- Row key — template-rendered. Keys are your contract: a county FIPS, an email, an order id — whatever callers will look the row up by.
- Row data — one row per field, template values; a
whole-string
{{ … }}keeps its type, so numbers stay numbers.
Output
{ "key": "41051", "data": { "fee_cents": 7600 }, "store_slug": "county-fees", "updated_at": "…" }
Patterns
- Durable results — extraction and enrichment pipelines write here; the data outlives the run.
- Read it from anywhere — workflows via get from store; external systems over the read API with a developer token.
- Idempotent pipelines — because writes are upserts, re-running a workflow overwrites rather than duplicates.
Gotchas
- A write that doesn't match the store's schema fails the step with every violation listed — fix the field mapping, don't loosen the schema.
- Upsert replaces the whole row — include every field the row should keep, not just the one you're changing.