Views

Show someone a page of results

view_show · Changes data · Markdown

Draws numbers, charts, bars, tables, lists and text on one page, with a link to it that opens once, for a person to look at.

$0.01 a call

From your agent’s balance. A call that fails costs nothing.

An example

Show me last week's sales in a way I can look at on my phone.

Your agent callsview_show$0.01 a call

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "title": "Halverson Cycle & Repair, last week",
  "subtitle": "October 5 to 11, 2026",
  "blocks": [
    {
      "type": "metrics",
      "items": [
        {
          "label": "Revenue",
          "value": 14620,
          "format": "currency",
          "currency": "USD",
          "change": 12.4
        },
        {
          "label": "Orders",
          "value": 41
        },
        {
          "label": "Average order",
          "value": 357,
          "format": "currency",
          "currency": "USD"
        }
      ]
    },
    {
      "type": "chart",
      "title": "Orders a day",
      "kind": "bar",
      "labels": [
        "Mon",
        "Tue",
        "Wed",
        "Thu",
        "Fri",
        "Sat",
        "Sun"
      ],
      "series": [
        {
          "name": "Orders",
          "values": [
            4,
            5,
            7,
            6,
            8,
            11,
            0
          ]
        }
      ]
    },
    {
      "type": "bars",
      "title": "Best sellers",
      "items": [
        {
          "label": "Full tune-up",
          "value": 14
        },
        {
          "label": "Tabor gravel bike",
          "value": 5
        },
        {
          "label": "Willamette 8",
          "value": 4
        }
      ]
    }
  ]
}
What comes back
{
  "view": {
    "name": null,
    "title": "Halverson Cycle & Repair, last week",
    "subtitle": "October 5 to 11, 2026",
    "blocks": 3,
    "saved": false,
    "created_at": "2026-10-14T08:00:00+00:00",
    "updated_at": "2026-10-14T08:00:00+00:00"
  },
  "link": "https://cncto.co/v/y24JuMFZbnHwR5d8UWP0R1QC",
  "opens": "once",
  "expires_at": "2026-10-21T08:00:00+00:00",
  "note": "The first browser that opens it keeps it for an hour; anyone else is told it was used. Make another link for someone else."
}

Use it when

A person should see results rather than read them: a report, a comparison, a list to check.

  • For a page kept under a name and updated over time, use view_save.

What it does

Draw numbers, charts, bars, tables, lists and text on one page and get a one-time link to it, to send to a person: the first browser that opens it keeps it for an hour, and an unopened link expires after 7 days. Conecto keeps no dashboards of its own; this is how a person sees what you found, from any area or anywhere else. blocks is a list, drawn top to bottom. Each block is one of: {"type": "heading", "text"}; {"type": "text", "text"} (blank lines make paragraphs); {"type": "metrics", "items": [{"label", "value", "format", "currency", "change" (percent), "better": "up"|"down", "note", "tone": "good"|"warn"|"bad"}]} (up to 8 numbers in a row); {"type": "chart", "title", "kind": "line"|"bar", "labels": [...], "series": [{"name", "values": [...]}], "format", "currency"} (up to 4 series of up to 400 points); {"type": "bars", "title", "label_header", "value_header", "items": [{"label", "value", "detail", "link", "country" (a two-letter code: shows the flag, and the name when label is left out)}], "format", "currency"} (ranked rows with a bar each, up to 50); {"type": "table", "title", "columns": [{"label", "format", "currency"}], "rows": [[...], ...]} (up to 12 columns and 500 rows); {"type": "list", "title", "items": [{"title", "text", "meta", "link"}]} (up to 100); {"type": "divider"}. format is number, percent (49 means 49%), currency (with currency, like "EUR"), seconds (a length of time), milliseconds or text. bars, table, list and metrics take "width": "half" to sit beside the next half block.

What comes back

view: its title, subtitle and how many blocks; link: the one-time link, opens (once), expires_at, and a note on how it opens. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
titleRequiredstring1 to 200 characters.
subtitlestringA line under the title, like the period it covers. Up to 300 characters.
blocksRequiredarray of objectsblocks is a list, drawn top to bottom. Each block is one of: {"type": "heading", "text"}; {"type": "text", "text"} (blank lines make paragraphs); {"type": "metrics", "items": [{"label", "value", "format", "currency", "change" (percent), "better": "up"|"down", "note", "tone": "good"|"warn"|"bad"}]} (up to 8 numbers in a row); {"type": "chart", "title", "kind": "line"|"bar", "labels": [...], "series": [{"name", "values": [...]}], "format", "currency"} (up to 4 series of up to 400 points); {"type": "bars", "title", "label_header", "value_header", "items": [{"label", "value", "detail", "link", "country" (a two-letter code: shows the flag, and the name when label is left out)}], "format", "currency"} (ranked rows with a bar each, up to 50); {"type": "table", "title", "columns": [{"label", "format", "currency"}], "rows": [[...], ...]} (up to 12 columns and 500 rows); {"type": "list", "title", "items": [{"title", "text", "meta", "link"}]} (up to 100); {"type": "divider"}. format is number, percent (49 means 49%), currency (with currency, like "EUR"), seconds (a length of time), milliseconds or text. bars, table, list and metrics take "width": "half" to sit beside the next half block. 1 to 60 items.
blocks[].typeRequiredstringOne of: heading,text,metrics,chart,bars,table,list,divider.

The call

Over MCP, call view_show on https://api.conecto.chat/mcp/views. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/view_show \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Halverson Cycle & Repair, last week","subtitle":"October 5 to 11, 2026","blocks":[{"type":"metrics","items":[{"label":"Revenue","value":14620,"format":"currency","currency":"USD","change":12.4},{"label":"Orders","value":41},{"label":"Average order","value":357,"format":"currency","currency":"USD"}]},{"type":"chart","title":"Orders a day","kind":"bar","labels":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"series":[{"name":"Orders","values":[4,5,7,6,8,11,0]}]},{"type":"bars","title":"Best sellers","items":[{"label":"Full tune-up","value":14},{"label":"Tabor gravel bike","value":5},{"label":"Willamette 8","value":4}]}]}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
invalid_input400A block is not in the form this page lists: an unknown type, a chart with a value count that does not match its labels, a table row with the wrong number of cells, or a page over about 300 KB.Fix the block the message names.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md