Skip to main content
Reports are saved analytics queries with visualization config. Define the data source, metrics, grouping, filters, and chart type — then execute on demand or display in dashboards.

Tools

ToolDescriptionKey Params
reports.listList all saved reports
reports.getGet a report’s configurationreport_id
reports.createCreate a new reportname, config
reports.updateUpdate a report’s configreport_id, name, config
reports.deleteDelete a reportreport_id
reports.executeRun a report and return datareport_id, time_range (optional override)

Config Structure

FieldDescription
object_type_slugWhich object type to query
list_idOptional — scope to a specific pipeline/list
metriccount, sum, avg, min, max
metric_fieldField to aggregate (required for sum/avg/min/max)
group_byField to group results by
chart_typebar, line, pie, number, table
filtersArray of filter objects
time_rangeDefault time range

Examples

Create a bar chart of deals by stage

{
  "tool": "reports.create",
  "params": {
    "name": "Deals by Stage",
    "config": {
      "object_type_slug": "deals",
      "list_id": "lst_abc123",
      "metric": "sum",
      "metric_field": "Deal Value",
      "group_by": "Stage",
      "chart_type": "bar",
      "filters": [
        { "field": "Stage", "operator": "not_in", "value": ["Closed Lost"] }
      ],
      "time_range": {
        "start": "2026-01-01",
        "end": "2026-03-23"
      }
    }
  }
}

Execute a report

{
  "tool": "reports.execute",
  "params": {
    "report_id": "rpt_001"
  }
}
Response:
{
  "success": true,
  "data": {
    "chart_type": "bar",
    "labels": ["Qualified", "Proposal Sent", "Negotiation", "Closed Won"],
    "datasets": [
      {
        "label": "Deal Value (sum)",
        "data": [340000, 520000, 410000, 1250000]
      }
    ]
  }
}

Create a line chart tracking new contacts over time

{
  "tool": "reports.create",
  "params": {
    "name": "New Contacts per Week",
    "config": {
      "object_type_slug": "contacts",
      "metric": "count",
      "group_by": "created_at",
      "chart_type": "line",
      "time_range": {
        "start": "2026-01-01",
        "end": "2026-03-23"
      }
    }
  }
}