Skip to content

Rich display rendering

A script or flow’s return value is just data — how it shows up in the run view depends on its shape. By default, Orvanta renders a result as JSON. If the result matches one of a set of recognized shapes (an array of objects, for instance), Orvanta renders it as something more useful instead: a table, an image, a map, an approval prompt.

Some of these are detected automatically from the shape of the returned value. Others need an explicit single-key object — wrap the value under one of the keys below and Orvanta renders it accordingly, regardless of what the underlying data looks like.

Results as single-key objects can leverage these formats:

TypePurposeExample
table-colColumn-wise table rendering{ "table-col": { "foo": [42, 8], "bar": [38, 12] } }
table-rowRow-wise table rendering{ "table-row": [ [ "foo", "bar" ], [ 42, 38 ], [ 8, 12 ] ] }
table-row-objectRow-wise table with object rows{ "table-row-object": [ { "foo": 42, "bar": 38 }, ... ] }
s3S3 file download and bucket explorer{ "s3": "path_to_file"}
htmlHTML rendering{ "html": "<div>...</div>" }
markdown/mdMarkdown rendering{ "markdown": "## Hello World" }
fileFile download option{ "file": { "content": encode(file), "filename": "data.txt" } }
pdfPDF document display{ "pdf": base64Pdf }
pngPNG image display{ "png": base64Image }
jpegJPEG image display{ "jpeg": base64Image }
gifGIF animation display{ "gif": base64Image }
svgSVG image rendering{ "svg": "<svg>...</svg>" }
errorError message display{ "error": { "name": "418", "message": "...", "stack": "..." }}
resumeApproval with Resume/Cancel buttons{ "resume": "url", "cancel": "url", "approvalPage": "url" }
mapMap with location markers{ "map": { lat: 40, lon: 0, zoom: 3, markers: [...] }}
render_allDisplay multiple results with formats{ "render_all": [ { "json": {...} }, { "table-col": {...} } ] }

Automatically renders results as interactive tables when the result is an array of objects. No specific key required for scripts or flows.

Column order can be forced by including an array of column names as the first element.

Returns values as column-wise tables. Format is automatically detected even without the explicit table-col key.

Returns values as row-wise tables with format: nested arrays where first row contains headers.

Returns row-wise tables where each row is an object. Optionally include an array of strings as the first element to enforce column ordering.

S3: Renders downloadable S3 files with bucket explorer when workspace is connected to S3 storage. Supports infinite-size files with paginated preview.

HTML & Markdown: Direct rendering of markup content.

Images: PNG, JPEG, and GIF formats require base64 encoding. Can include content in nested object or directly.

PDF: Requires base64-encoded PDF data.

SVG: Direct SVG markup rendering.

File: Generic file download with content encoding and filename.

Error: Display custom error messages with name, message, and stack trace.

Resume: Enables approval workflows with configurable Resume and Cancel actions.

Map: Interactive map display with latitude, longitude, zoom level, and customizable markers (supporting color, radius, stroke properties).

Render all: Display multiple formatted results simultaneously in a single output.