Apps

Dashboards

Agents build interactive web dashboards, from monitoring views to data explorers, accessible anytime from the agent home.

How agents create dashboards

Agents create dashboards through the dashboards MCP server. The primary tool is create_dashboard.

create_dashboard

Creates a new dashboard project in the agent's workspace. Parameters:

  • slug: A URL-safe identifier (e.g. sales-metrics), used in routing and filesystem paths.
  • name: A display name shown in the sidebar and header bar.
  • description: A short description of what the dashboard does.
  • framework: Either plain (static HTML/JS) or react (a React-based app).

Gamut scaffolds the project in the agent's artifacts/ directory, installs dependencies, and starts a dev server. The dashboard is available immediately.

start_dashboard

Starts (or restarts) a previously created dashboard by its slug. Useful after code changes or a crash.

list_dashboards

Returns all dashboards for the current agent, including status, port, and metadata.

get_dashboard_logs

Retrieves console output from a dashboard's dev server, used to debug build errors and runtime issues. An optional clear parameter resets the log buffer after reading.

What dashboards can contain

A dashboard is a full web application. Agents can build anything that runs in an HTML/JS environment:

  • Data visualizations and charts
  • Interactive forms and controls
  • Real-time monitoring interfaces
  • Multi-page applications (with the React framework)

Dashboards run in a sandboxed iframe with allow-scripts, allow-same-origin, allow-forms, and allow-popups permissions, plus microphone and camera access. Gamut injects polyfills that expose browser APIs and an LLM SDK, so dashboards can include AI-powered features of their own.

Accessing dashboards

Expand an agent in the sidebar to see its dashboards at the top of the submenu, marked with a pointer icon. Click one to open it in the main content area; double-click to open it in a new window.

Home page cards

The home page shows dashboard cards alongside agent cards. Each card displays a screenshot thumbnail when available and opens the dashboard on click.

Agent home view

An agent's home view shows its dashboard cards in the right column.

Standalone URL

Every dashboard has a standalone view URL:

/api/agents/{agentSlug}/artifacts/{dashboardSlug}/view

The page is self-contained: it checks the agent's status, auto-starts it if needed, waits for the dashboard to become available, then displays it in a full-viewport iframe. Share or bookmark this URL.

Pop-out window

In the Electron desktop app, the dashboard toolbar's "Open in new window" button launches the dashboard in a dedicated window. On the web, it opens a new browser tab with the standalone view.

macOS Dock shortcut

On macOS, the dashboard toolbar's "Add to Dock" button opens a dialog to pick an icon emoji and background color, then creates a Dock shortcut that launches the dashboard directly.

The dashboard panel

Inside Gamut, a dashboard renders in a panel with a toolbar showing:

  • The dashboard name and description
  • An "Add to Dock" button (macOS Electron only)
  • An "Open in new window" button
  • A "Refresh" button to reload the iframe

Pending approval requests from the agent appear below the toolbar as inline review prompts. Approve or deny agent actions directly from the dashboard view, without switching to a chat session.

Dashboard lifecycle

Dashboards follow their agent's container lifecycle:

  1. Creation: The agent calls create_dashboard.
  2. Running: While the agent's container runs, the dashboard process serves content on an internal port, and Gamut proxies UI requests to it.
  3. Stopped: When the agent stops, the dashboard process stops too. Files remain on disk.
  4. Auto-start: Navigating to a stopped dashboard (from the sidebar, a URL, or a Dock shortcut) automatically starts the agent, with a loading state until the dashboard is ready.

Status values are running, stopped, crashed, and starting. The UI polls every second while any dashboard is starting, then slows to a 60-second interval once all are stable.

Managing dashboards

Renaming

Right-click a dashboard in the sidebar and select "Rename Dashboard" to edit its display name inline. The name is stored in the dashboard's package.json.

Deleting

Right-click a dashboard in the sidebar and select "Delete Dashboard" to remove it permanently. This stops the process if running and deletes all files; it cannot be undone.

Screenshots

Gamut automatically captures a screenshot of each dashboard for its cards. Screenshots are stored as screenshot.png in the dashboard's directory and served from the host filesystem, so they stay available while the agent is stopped.