format: html is a static HTML file, not an interactive task-feed widget. For a live scorecard in the feed use app_tool; for a rendered view of prior step JSON use custom_interface.
When to use it (vs app_tool vs custom_interface vs python_code_tool)
Modes
AI generation — passinstructions + format. The model writes the file. Supported: html, md, csv, xlsx, pdf, docx. Do not use this when you already have structured data; it wastes an LLM call and can distort values.
Direct conversion — pass content (usually a ${VAR_N} from structured_data_extraction, python_code_tool, or postgres_execute_query) + format csv, xlsx, or json. No LLM. Nested extraction metadata is stripped. For xlsx, an array of {sheetName, headers, rows} becomes a multi-sheet workbook. json is conversion-only (requires content).
Inputs
Required:format, filename (no extension; the tool adds it).
instructions— AI mode.content— conversion mode; when set,instructionsis ignored.file_id— optional UUID of an existing file to overwrite.delimiter— CSV only:,(default),;,|, tab.
structured_data_extraction / parsers), then call this tool.
Output
The generated file (filename, format, storage URL / file id) for download or downstream tools.Limits and side effects
- One file per call.
- Uploads to task storage; overwriting via
file_idreplaces that row’s contents. - Repair loops may retry malformed AI output (CSV/XLSX/PDF) within configured bounds.
Expected errors
- Neither
instructionsnorcontentprovided. format: jsonwithoutcontent.- Unknown format, or conversion of data the formatter cannot shape.