Atlas
Guides

Notebook View

Cell-based interface for exploratory data analysis with inline SQL results, Python output, and charts.

The notebook view provides a cell-based interface for exploratory data analysis. Each agent step becomes an individual cell — SQL query results, Python execution output, and explore commands all display as discrete, manageable units you can review, edit, and re-run.


Accessing the Notebook

There are two ways to open the notebook view:

  • Direct URL — Navigate to /notebook to start a fresh notebook session
  • From the sidebar — Click the notebook icon on any existing conversation to switch from chat view to notebook view

The notebook displays the same conversation content as the chat view, reorganized into cells.


Cell Types

Query Cells

Each query cell corresponds to an agent tool call or response:

Cell typeContents
Query resultSQL query, tabular results, and any generated charts
Python executionPython code, stdout/stderr, and rendered charts (matplotlib or Recharts)
Explore outputSemantic layer file contents returned by the explore tool

Cells display their output inline — you can see the SQL that was run, the rows returned, and any visualizations without switching views.

Text Cells

Text cells are freeform markdown annotations that you can insert between query cells. Use them to document your analysis, add headings, or write narrative context around your data exploration.

Text cells support full markdown syntax — headings, lists, bold/italic, code blocks, and links. They render as formatted markdown in preview mode.

To add a text cell:

  • Click the Text Cell button in the toolbar above the cells
  • Use the keyboard shortcut Ctrl+Shift+T to insert after the currently focused cell

Text cells start in edit mode. Press Escape or click the checkmark button to switch to preview mode. Double-click a text cell in preview mode to edit it again.


Cell Operations

Each query cell supports the following actions:

  • Run — Execute the cell (or re-execute after editing)
  • Edit — Modify the question or prompt that produced the cell
  • Copy — Copy cell contents to the clipboard
  • Fork — Create a new analysis branch from this cell (see Forking below)
  • Delete — Remove the cell from the notebook
  • Collapse / Expand — Toggle cell visibility to focus on specific results

Text cells support Edit, Delete, and Drag to reorder.


Re-running Cells

You can edit a cell's question and click Run to re-execute from that point. When you re-run a cell:

  1. The edited question is sent to the agent
  2. The agent re-executes from that cell onward
  3. All subsequent query cells are cleared — they will be replaced by new results

Text cells are not affected by re-running — they are independent annotations.


Reordering Cells

Drag cells to rearrange them in any order using the grip handle on the left side of each cell. Both query cells and text cells can be reordered freely. The display order is independent of execution order — reordering cells does not change the underlying conversation history.

Cell numbers update to reflect the new display position. Keyboard navigation follows display order after reordering.


Forking

Fork from any query cell to explore an alternative analysis direction without losing your existing work.

  1. Click the fork button (branch icon) on any query cell
  2. A new conversation is created with the history up to that cell
  3. You're navigated to the new branch where you can continue independently
  4. The original notebook is preserved unchanged

When a notebook has branches, a branch selector appears at the top showing all branches. Click any branch to switch between them — each branch maintains its own independent cell history.

Forking requires server-side persistence (an internal database). Without DATABASE_URL configured, the fork button is disabled.


Exporting

Export your notebook as a Markdown or HTML file using the Export dropdown in the toolbar.

Markdown Export

Generates a .md file with:

  • Text cells rendered as-is (they're already markdown)
  • Query cells as headings with their cell number, followed by response text, SQL in fenced code blocks, Python code in fenced code blocks, stdout output, and result tables as markdown tables

HTML Export

Generates a self-contained .html file with inline CSS styling. The file can be opened in any browser and shared without dependencies. Query results are rendered as styled HTML tables, and code blocks are formatted with monospace styling.


Keyboard Shortcuts

ShortcutAction
ArrowUp / ArrowDownNavigate between cells
Enter (cell focused)Edit the selected cell
EscapeCancel edit / switch text cell to preview
Enter (in editor)Submit edit (re-run from this cell)
Shift + EnterInsert newline in editor
Ctrl + Shift + BackspaceDelete the selected cell
Ctrl + Shift + TInsert a text cell after the selected cell

Persistence

Cell state is persisted server-side when an internal database is configured (DATABASE_URL). Your notebook state — including cell order, collapsed states, text cell content, and fork metadata — survives page reloads, browser restarts, and device switches.

Browser localStorage is used as a write-through cache for fast loads and offline resilience. Server state takes priority when both are available.

Without an internal database, notebook state falls back to localStorage only. Clearing browser data or switching browsers will remove saved state in this mode.

On this page