Loading...
Loading...
Read, build, and fix RevOS dashboards of metric cards through the RevOS MCP server. A card is one metric (a numeric measure), counted over a segment's rows or the card's own conditions, optionally broken down by a dimension. Use this whenever the user wants to see what's on a dashboard ("what's on our sales dashboard", "what does the pipeline card show"), put a metric or KPI on one ("add open pipeline to the board", "add revenue by stage as a donut"), change, reorder, move, or remove a card, create, rename, or delete a dashboard, or asks why a card shows "unavailable" or a number that looks wrong — even if they never say "dashboard" or "card". Read it before the first api_write or api_delete on `dashboards` or `dashboard-cards`.
npx skill4agent add revosai/skills dashboards| Field | What it is |
|---|---|
| One numeric measure, fully qualified: |
| A segment whose rows the card counts, or — |
| the card's own conditions (segment filter syntax). Never both. |
| The way to each other cube a condition or the breakdown reads: |
| Optional dimension: the card shows its top groups instead of one number. |
| How a breakdown shows: |
| Shown instead of the measure's name. |
| Order on the dashboard, ascending. |
// Dashboards
api_read { "resource": "dashboards", "params": { "fields": "id,name,description" } }
api_write { "resource": "dashboards", "data": { "name": "Sales", "description": "…" } }
api_write { "resource": "dashboards", "id": "<dashboard id>", "data": { "name": "…" } }
api_delete { "resource": "dashboards", "id": "<dashboard id>" }
// Cards — flat, not under the dashboard: list ONE dashboard's with a filter
api_read { "resource": "dashboard-cards", "params": { "filter": "dashboardId == \"<dashboard id>\"", "pageSize": 200 } }
api_read { "resource": "dashboard-cards", "id": "<card id>" }
api_write { "resource": "dashboard-cards", "data": { "dashboardId": "…", "measure": "…" } }
api_write { "resource": "dashboard-cards", "id": "<card id>", "data": { "title": "…" } }
api_delete { "resource": "dashboard-cards", "id": "<card id>" }datapositionapi_details({ resource: "dashboard-cards", operation: "create" })403filter: "name == \"Sales\""segmentIdfilterjoinPathsbreakdowntitledashboardIdmeasuresegmentIdfilterjoinPathsbreakdownvisualizationtitlepositionmember400joinPathsnulltitlesegmentIdbreakdownvisualizationfilterjoinPaths{ "segmentId": "…", "filter": {} }{ "segmentId": null, "filter": { … } }joinPathsposition1.512dashboardIdpositionmeasuremetasegmentIdsegment_…metajoinPathsmetadata.lastRefreshTimenamedescriptionnamedescription