Document and Data Viewers
How NetStacks displays JSON, CSV, Jinja templates, Markdown and text documents, and how to pick a JSON path from an API response.
Overview
When you open a document from the Documents view (the folder icon in the activity bar), NetStacks picks a viewer based on the document type. The viewers are read-only; click Edit to change the content in a Monaco editor.
Document viewers work in the standalone desktop app, in enterprise mode (documents stored on the Controller) and in the web terminal.
Document Tabs
A document tab shows the document name, its category and a type badge (JSON, CSV, Jinja2, Config, Markdown, Recording or Text). Depending on the type, the toolbar offers:
| Button | What it does |
|---|---|
| Edit / View | Switch between the viewer and a Monaco editor. Save with Cmd/Ctrl+S. AI inline edit (Cmd/Ctrl+I) works in the editor. |
| AI Enhance | Ask the AI to analyze and improve the document (not shown for CSV, JSON or notes). |
| Render | Fill in variables and render a Jinja template. |
| Rendered / Raw | Toggle Markdown between formatted and source view. |
JSON Viewer
JSON documents open as a collapsible tree:
- The first two levels are expanded when the document opens.
- Click a chevron to expand or collapse a branch. Collapsed branches show a preview such as
Array(12)or{name, type, enabled, ...}. - Strings, numbers, booleans and null each have their own color.
- If the content is not valid JSON, the viewer shows Failed to parse JSON with the parser error.
JSON files inside a workspace open in the code editor instead.
Pick a JSON Path from an API Response
In the API client (the API section of the Workspaces sidebar, standalone desktop app), a JSON response is shown in the same tree viewer, and every key and array index is clickable:
- Send a request and open the JSON response.
- Click the key you want, for example a
commentsfield inside the first result. The tooltip reads Use <path> as the extract path. - NetStacks fills in the JSON extract path (for example
results[0].comments), switches to the Extract tab and previews the extracted value.
Paths use dots for keys, [n] for array items, ["key"] for keys with special characters, and [*] to take a field from every item in an array.
CSV Viewer
CSV documents open as a table. Quoted fields (including commas inside quotes) are handled. Click a column header to sort ascending, again for descending, and a third time to clear the sort. Numeric columns sort as numbers.
Jinja Template Viewer
Jinja templates are shown with {{ variables }}, {% tags %} and {# comments #} highlighted, so you can see at a glance what will be filled in.

Click Render to supply values for the variables and see the rendered result.
Markdown and Text
Markdown documents are rendered with GitHub-flavored Markdown (tables, task lists) and highlighted code blocks. Use Raw to see the source. Text documents that look like Markdown are rendered the same way; other text and config documents are shown as plain monospaced text.
Other Viewers
- Recordings open in the session recording player. See Session Recording.
- Images, PDFs, audio and video in a workspace open in a preview tab. See Code Editor.
- SFTP files open in a simple text editor with line numbers (no syntax highlighting). See SFTP.