RowCell
One cell of a row (a single action × a single row). Branch on `status` to decide which of `outputs` / `outputs_ref` / `error` to read.
Properties
statusstringrequiredLifecycle state of this cell. Progresses `queued → running → (complete | failed | error | out_of_credits | condition_not_met)`. Everything after `running` is terminal — stop polling the cell once it lands on one. `failed` is a known failure path (provider 404, validation failed, duplicate row, missing required input, run stopped); `error` is an unexpected runtime error; `out_of_credits` means the org's credit balance couldn't cover the action, so it never ran — top up and re-run the row. All three carry an `error` message. `condition_not_met` is terminal too — the action's `run_if` (or an upstream `filter`) evaluated false for this row, so the cell never ran; downstream cells stay `queued` unless `continue_workflow_if_run_condition_not_met: true` was set on the gating action.
"queued""running""complete""failed""error""out_of_credits""condition_not_met"outputsobjectInline outputs for a `complete` cell when the payload is small. Keys are the action's output field names. Absent on non-`complete` cells; absent on `complete` cells with `outputs_ref`.
outputs_refobjectURL pointer to the outputs of a `complete` cell when the payload is too large to inline (e.g. LinkedIn profile scrapes, enrichment blobs). Fetch the URL with the caller's API key to read the data.
urlstring <uri>requiredSigned URL to fetch the outputs JSON.
size_bytesintegerrequiredSize of the outputs JSON at `url`, in bytes.
errorstringHuman-readable failure message. Present on `failed`, `error` and `out_of_credits` cells.
Example
{
"status": "queued",
"outputs": {},
"outputs_ref": {
"url": "https://example.com",
"size_bytes": 0
},
"error": "string"
}