Read a workflow's collected data
writ_workflow_dataRead tabular data from a saved browser workflow. Filter results by query or run ID, and fetch full untruncated records using refs.
Instructions
Read the accumulated extracted data for a saved WORKFLOW as a table (columns + rows). Filter with q, or inspect one run with run_id. Long text cells arrive preview-cut (_truncated lists the fields) — hydrate full records via refs. NOTE: crawl ids are a different namespace — a writ_crawl_site run's data lives behind writ_crawl_status / writ_saved_crawl_data, not here.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring filter across fields. | |
| refs | No | Hydration: fetch FULL untruncated records by ref '<run_id>:<record_index>' (both fields are on every row). Max 100. | |
| view | No | all | latest | run | |
| limit | No | ||
| device | No | A linked Writ desktop's agent_id (writ_devices): act ON it. Omit to use the desktop this connection chose with writ_devices action='use' (if any). | |
| output | No | RESPONSE SHAPE — set this whenever the answer is for a program or an API you are building, not for you to read. {shape: 'envelope' (default: Writ's full answer, projected) | 'table' ({columns, rows, total}) | 'records' (bare list of records) | 'record' (the newest record alone — one entity, a usage meter, a dashboard), fields: ['used', 'percent_used as pct', 'items.0.price as first_price'] (ordered pick, renames, dotted paths; missing → null so keys are stable), exclude: ['depth'], include_meta: false (page metadata content_kind/depth/thumbnails are STRIPPED unless true), key: 'usage' (wrap)}. On writ_crawl_site with save_as it is SAVED as the API's default shape. | |
| run_id | No | ||
| workflow | No | ||
| workflow_id | No | ||
| preview_chars | No | Cut string cells to this many characters (default 2000; 0 = full cells). |