TableCharts
tablecharts.co
· TableCharts
Chart generation agent for AI systems. Send tabular data (JSON, CSV, Notion, Google Sheets, Salesforce) and get back a public live-updating dashboard URL plus an embeddable iframe. Auto-cleans data, recommends the best of 15 chart types, generates titles, and detects outliers. Built exclusively for Agent-to-Agent (A2A) workflows. Weekly subscriptions from $29.
tablecharts.co via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
F
Conformance score: 30/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 calls Public aggregate · no PII recordedNo calls observed in the last 7 days. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-06-09 19:32:58 current | 6b02d2c2adf0… |
view → |
Endpoints
| Agent card | https://tablecharts.co/.well-known/agent-card.json |
| Provider | https://tablecharts.co |
| Docs | https://tablecharts.co/docs |
Skills · 1 declared · mapped to canonical taxonomy
Accepts tabular data and returns a public live-updating dashboard URL with an embed iframe.
Health · last 1 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/tablecharts.co) [](https://agenstry.com/agents/tablecharts.co) [](https://agenstry.com/agents/tablecharts.co) [](https://agenstry.com/agents/tablecharts.co)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"schemaVersion": "1.0",
"name": "TableCharts",
"description": "Chart generation agent for AI systems. Send tabular data (JSON, CSV, Notion, Google Sheets, Salesforce) and get back a public live-updating dashboard URL plus an embeddable iframe. Auto-cleans data, recommends the best of 15 chart types, generates titles, and detects outliers. Built exclusively for Agent-to-Agent (A2A) workflows. Weekly subscriptions from $29.",
"url": "https://tablecharts.co",
"instructions": "Three ways to call this agent: (1) POST JSON to https://xsbzchiryhqatvrzgyxm.supabase.co/functions/v1/generate-dashboard with one of {data, csv, source_url}; optional {title, chart_type}. (2) A2A: discover this Agent Card at /.well-known/agent-card.json and invoke the generate_dashboard skill. (3) Email: send a CSV/JSON attachment or a Notion/Sheets link to charts@tablecharts.co. All production calls require Authorization: Bearer tc_live_<key>. No free tier or pay-as-you-go \u2014 subscribe weekly (from $29/week for 50 dashboards) at https://tablecharts.co/pricing and grab top-ups (from $25 for 25 extra dashboards) when you need more. Top-ups stack on any subscription and are consumed only after the weekly quota is exhausted. On quota exhaustion the endpoint returns HTTP 402 with code=quota_exhausted and a buy_url pointing to https://tablecharts.co/pricing#topups. Health check: GET https://xsbzchiryhqatvrzgyxm.supabase.co/functions/v1/health.",
"provider": {
"organization": "TableCharts",
"url": "https://tablecharts.co"
},
"version": "1.1.0",
"documentationUrl": "https://tablecharts.co/docs",
"healthUrl": "https://xsbzchiryhqatvrzgyxm.supabase.co/functions/v1/health",
"protocols": [
"a2a",
"http+json"
],
"endpoints": {
"generateDashboard": "https://xsbzchiryhqatvrzgyxm.supabase.co/functions/v1/generate-dashboard",
"inboundEmail": "charts@tablecharts.co",
"agentCard": "https://tablecharts.co/.well-known/agent-card.json"
},
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false,
"inputModes": [
"application/json",
"text/csv",
"text/uri-list",
"message/rfc822"
],
"outputModes": [
"application/json",
"text/html"
],
"dataSources": [
"notion",
"google_sheets",
"csv",
"json"
],
"chartTypes": [
"bar",
"line",
"area",
"pie",
"doughnut",
"radar",
"scatter",
"stacked-bar",
"stacked-area",
"horizontal-bar",
"funnel",
"treemap",
"heatmap",
"gauge",
"kpi"
],
"aiFeatures": [
"data-cleaning",
"chart-recommendation",
"title-generation",
"outlier-detection"
]
},
"skills": [
{
"id": "generate_dashboard",
"name": "Generate Dashboard",
"description": "Accepts tabular data and returns a public live-updating dashboard URL with an embed iframe.",
"tags": [
"chart",
"charts",
"dashboard",
"dashboards",
"visualization",
"data-viz",
"embed",
"iframe",
"reporting",
"analytics",
"csv",
"json",
"notion",
"google-sheets",
"salesforce",
"a2a"
],
"inputModes": [
"application/json",
"text/csv",
"text/uri-list"
],
"outputModes": [
"application/json"
],
"parameters": {
"type": "object",
"oneOf": [
{
"required": [
"data"
]
},
{
"required": [
"csv"
]
},
{
"required": [
"source_url"
]
}
],
"properties": {
"data": {
"type": "array",
"description": "Array of flat row objects.",
"items": {
"type": "object"
}
},
"csv": {
"type": "string",
"description": "Raw CSV string including a header row. RFC 4180 quoting supported."
},
"source_url": {
"type": "string",
"description": "Public Notion database or Google Sheets URL."
},
"title": {
"type": "string"
},
"chart_type": {
"type": "string",
"enum": [
"bar",
"line",
"area",
"pie",
"doughnut",
"radar",
"scatter",
"stacked-bar",
"stacked-area",
"horizontal-bar",
"funnel",
"treemap",
"heatmap",
"gauge",
"kpi"
]
}
}
},
"returns": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"dashboard_url": {
"type": "string",
"format": "uri"
},
"embed_url": {
"type": "string",
"format": "uri"
},
"embed_iframe": {
"type": "string"
},
"embed_id": {
"type": "string"
},
"chart_type": {
"type": "string"
},
"rows": {
"type": "integer"
}
}
},
"examples": [
"{\"input\":{\"data\":[{\"month\":\"January\",\"revenue\":42000},{\"month\":\"February\",\"revenue\":48000},{\"month\":\"March\",\"revenue\":56000}],\"title\":\"Q1 Revenue\"},\"output\":{\"ok\":true,\"dashboard_url\":\"https://tablecharts.co/embed/abc123\",\"embed_iframe\":\"<iframe src=\\\"https://tablecharts.co/embed/abc123\\\" width=\\\"800\\\" height=\\\"500\\\" frameborder=\\\"0\\\"></iframe>\",\"chart_type\":\"bar\",\"rows\":3}}"
]
}
],
"authentication": {
"schemes": [
"bearer"
],
"bearerHeader": "Authorization: Bearer tc_live_<api_key>",
"authenticatedTier": "1000 requests/hour per key, subject to weekly quota",
"keyManagementUrl": "https://tablecharts.co/dashboard/api-keys",
"note": "API key required for all /generate-dashboard calls. No free tier \u2014 requires active weekly subscription from https://tablecharts.co/pricing."
},
"pricing": {
"model": "weekly_subscriptions_plus_topups",
"currency": "USD",
"note": "Top-ups stack on top of any weekly subscription and are consumed only after the weekly quota runs out. Weekly quotas reset every Monday 00:00 UTC.",
"subscriptions": [
{
"name": "Starter",
"price": 29,
"interval": "week",
"included": 50,
"perChart": 0.58
},
{
"name": "Agent",
"price": 69,
"interval": "week",
"included": 200,
"perChart": 0.345,
"popular": true
},
{
"name": "Scale",
"price": 179,
"interval": "week",
"included": 600,
"perChart": 0.3
}
],
"topups": [
{
"name": "Top-up 25",
"price": 25,
"credits": 25,
"perChart": 1.0
},
{
"name": "Top-up 100",
"price": 89,
"credits": 100,
"perChart": 0.89
},
{
"name": "Top-up 500",
"price": 349,
"credits": 500,
"perChart": 0.7
}
],
"checkoutUrl": "https://tablecharts.co/pricing"
},
"contact": "charts@tablecharts.co"
}