Dashboards & Pulse Reports

Beyond single charts, the MCP Server can compose full dashboards and run Pulse Reports — pre-built operational diagnostics. Both are produced by the AI on demand, both can be saved as Shared Pages, and both ship with a polished default theme.

Dashboards — compose_dashboard

When a user asks “build me a dashboard of last month’s sales” or “give me a CRM overview”, the AI calls compose_dashboard. The tool returns a self-contained HTML artefact plus a recipe describing the dashboard’s contents.

The default theme is Command — dark slate background, cyan accent, mono numbers, and Linear / Vercel-style polish. You can override the brand colours per recipe.

Sections

A dashboard recipe is a list of sections of one of four types:

  • kpi — a big number tile with optional sparkline and percent-change pill (when the AI passes a historical series).

  • kpi_row — a row of KPIs that automatically adapts its layout when there are more than four KPIs.

  • chart — a bar, line, or donut chart. The server applies smart defaults — date groupbys auto-become line charts, >8 categories auto-become horizontal bars.

  • table — a paged data table with a “Showing X of N” badge when the result exceeds the limit.

    Composed dashboard with a 4-tile KPI

Two-step “save as page” flow

After compose_dashboard, the AI:

  1. Renders the dashboard inline (artifact-capable clients like Claude.ai) or summarises it (clients without HTML artefacts like ChatGPT or Gemini CLI).

  2. Asks the user explicitly: “Would you like to save this as a shareable Odoo URL?”

If yes, the AI calls save_dashboard_as_page with the same recipe, and a Shared Page is created (see Shared Pages).

The AI never saves silently. The user always confirms first.

Pulse Reports — pulse_report

The Pulse Report is an operational health diagnostic the AI can run at any time. It scores up to eight dimensions A–F and renders a polished dashboard with red / amber / green finding cards.

The eight dimensions

  • Sales — stale draft quotes older than 30 days.

  • Invoicing — overdue unpaid invoices.

  • CRM — stalled opportunities with no activity for 14+ days.

  • Activities — overdue mail.activity records.

  • Email queue — stuck outgoing emails.

  • Approvals — MCP approval requests waiting more than 24h.

  • Inventory — late stock transfers.

  • Projects — overdue tasks.

    Pulse Report dashboard with a big "D" grade card on the left, a severity bar across the top, and individual dimension cards colour-coded red, amber, and green

Typical user prompts

  • “Run a system pulse report.”

  • “How are we doing on invoicing and CRM?” — the AI passes dimensions: ["Invoicing", "CRM"] so the report scopes to just those.

  • “Anything stuck in the email queue?” — narrowed to one dimension.

Dimensions whose underlying Odoo module isn’t installed are silently skipped — no error, no empty card.

Save Pulse as Shared Page

For non-artefact AI clients (ChatGPT, Gemini CLI) the AI follows the same two-step pattern: summarise the top findings, then offer to save the polished dashboard as a public URL (save_pulse_as_page). The saved URL re-runs the pulse on every visit, so the dashboard always reflects current state.

Tip

The Pulse Report is one of the highest-impact features for owner-operators of small businesses. Wire it into a weekly cadence (“every Monday at 9 send me a pulse”) via an event subscription or a scheduled assistant.