AgentsInFlow
AgentsInFlow

Dashboards

Build visual overviews with markdown, charts, and diagrams on a responsive grid.

Overview

A dashboard is a grid of widgets. Each widget is a markdown document rendered inside a card on a 12-column responsive grid. Dashboards are global — they are not scoped to a single project, so one dashboard can aggregate information across your entire workspace.

[Screenshot: Dashboard view showing a grid of widget cards with mixed content types]

Dashboards serve two primary purposes:

  • Human-curated views — manually arrange widgets to track project metrics, sprint status, or architecture diagrams.
  • Agent-generated reports — agents create and update dashboards programmatically via the CLI, producing business plans, analysis summaries, or live status boards.

Access dashboards from the Dashboard tab in the top navigation bar, between Assistant and Kanban.


Widget Types

Every widget stores its content as markdown. The renderer detects embedded content blocks and renders them as rich elements inside the card.

TypeContent FormatUse Case
MarkdownStandard markdown with headings, lists, tables, bold, linksNarrative text, status updates, meeting notes
ChartECharts JSON inside a ```echarts fenceBar charts, line graphs, pie charts, metrics
DiagramMermaid syntax inside a ```mermaid fenceFlowcharts, sequence diagrams, architecture maps
[Screenshot: Three widgets side-by-side showing markdown text, an ECharts bar chart, and a Mermaid flowchart]

Markdown Widgets

The default widget type. Write any standard markdown and it renders as formatted text inside the card. Supports headings, bullet lists, numbered lists, tables, bold, italic, inline code, and links.

Chart Widgets

Embed an ECharts configuration inside a fenced code block tagged echarts. The widget renders a live, interactive chart. You can mix markdown text above or below the chart block within the same widget. See Editor & Diagrams for chart syntax details.

Diagram Widgets

Embed Mermaid diagram definitions inside a mermaid fenced code block. Supports flowcharts, sequence diagrams, class diagrams, Gantt charts, and more. The diagram renders inline within the widget card.


Creating and Editing Widgets

Creating a Dashboard

1

Navigate to the Dashboard tab in the top navigation.

2

Click the + button to create a new dashboard. Give it a title.

3

The dashboard opens with an empty grid, ready for widgets.

Adding a Widget

1

Click Add Widget on the dashboard toolbar.

2

A new widget card appears with default size (4 columns wide, 2 rows tall).

3

Click the widget to open the inline editor. Write markdown, paste an ECharts config, or add a Mermaid diagram.

[Screenshot: Inline widget editor open with markdown content and a live preview]

Editing a Widget

Click any widget to open its inline editor. The editor supports full markdown with a live preview. Changes save automatically. You can also click the zoom icon to expand a widget into a full-screen editing view.

Widget titles appear as the card header. Set the title when creating the widget or update it in the widget settings menu.


Grid Layout and Positioning

Widgets are positioned on a 12-column responsive grid. Each widget has four positioning properties:

PropertyRangeDefaultDescription
x0 – 110Column offset (0 = left edge)
y0 +0Row offset (0 = top)
w1 – 124Width in columns
h1 +2Height in rows

Common Layout Patterns

Full-Width Narrative

w=12

Spans the entire row. Use for executive summaries, introductions, or large diagrams that need horizontal space.

Side-by-Side Pair

w=6 + w=6

Two half-width cards on the same row. Ideal for pairing a data table with a chart, or a diagram with its description.

Three-Column Dashboard

w=4 + w=4 + w=4

Three equal cards per row. The default layout when adding new widgets without specifying position.

[Screenshot: Dashboard grid showing full-width, side-by-side, and three-column widget arrangements]

Drag-and-Drop Reordering

Rearrange widgets visually by dragging them on the grid:

1

Hover over a widget’s title bar to reveal the drag handle.

2

Click and hold the drag handle, then move the widget to a new position on the grid.

3

A blue placeholder shows where the widget will land. Drop to confirm.

4

Resize widgets by dragging the handle at the bottom-right corner of the card.

Position changes update the widget’s x, y, w, and h values automatically and persist immediately.

[Screenshot: Widget being dragged with blue placeholder indicator on the grid]

Dashboard Scope

Dashboards are global objects — they exist at the workspace level, not inside a project. This means:

  • A single dashboard can display data from multiple projects.
  • Switching projects does not change which dashboards are visible.
  • You can create as many dashboards as you need and switch between them from the dashboard dropdown.

To create a project-focused dashboard, name it after the project and populate it with project-specific widgets. While not enforced by scope, the convention keeps dashboards organized when you have many projects. Agents operating within a project context will typically create or update the dashboard associated with that project.


Embedding Diagrams and Live Data

Widgets support rich embedded content beyond plain text. Mix markdown prose with charts and diagrams in a single widget, or dedicate entire widgets to a single visualization.

Embedding a Chart

Place an ECharts JSON configuration inside a fenced code block. The widget renders the chart inline:

## Monthly Revenue

```echarts
{
  "xAxis": { "type": "category", "data": ["Jan","Feb","Mar"] },
  "yAxis": { "type": "value" },
  "series": [{ "type": "bar", "data": [120, 200, 150] }]
}
```

Embedding a Diagram

Place a Mermaid definition inside a fenced code block. The diagram renders directly in the card:

## System Architecture

```mermaid
graph LR
  A[User] --> B[Frontend]
  B --> C[API Server]
  C --> D[Database]
```

Agent-Generated Content

Agents can create and update dashboard widgets programmatically using the AIF Actions CLI. This enables workflows where an agent analyzes data, generates a report, and writes the results directly to a dashboard widget — no manual editing required.

Agents running inside an execution can update widgets as part of their task. For example, a planning agent might produce an 18-widget business plan dashboard with executive summary, market analysis, financial projections, and architecture diagrams — all generated in a single run.

[Screenshot: Agent-generated dashboard with charts and diagrams populated programmatically]

Tips and Best Practices

  • Use w=12 for introductory or summary widgets so they always appear at full width.
  • Pair a data table widget (w=6) with a chart widget (w=6) on the same row for side-by-side comparison.
  • Increase h for widgets with tall diagrams or lengthy text to avoid scrolling within the card.
  • Name dashboards after projects or themes (e.g., “Q1 Sprint Dashboard”) to keep them easy to find.
  • Let agents generate the initial dashboard layout, then refine positions manually with drag-and-drop.