Public Dashboards
Public Dashboards allow you to share a static, read-only snapshot of your Greppilot dashboard with anyone via a unique, unauthenticated URL. This is useful for sharing insights with external stakeholders or embedding analytics in other applications without requiring Greppilot accounts.
How it Works
When you create a public dashboard, Greppilot captures a static snapshot of your dashboard's current state. This snapshot includes the dashboard's name, its components, the data currently displayed within those components, and the applied theme. A unique, hexadecimal slug is generated to form the shareable URL.
Important Limitations:
- Static Data: Public dashboards are static snapshots. They do not automatically refresh with new data from your connectors. To update the data or structure, you must re-share the dashboard from within the Greppilot application, which generates a new snapshot.
- Data Cap: For performance and security, the data within each component is capped at 1000 rows in the snapshot.
- SQL Stripping: Raw SQL queries used by components are intentionally omitted from the public snapshot for security reasons. Only the query's natural language description and connector information are retained.
- Revocation: Public dashboards can be revoked at any time by the owner, rendering the shareable link invalid.
Accessing Public Dashboards via API
You can programmatically retrieve the contents of a public dashboard using its unique slug. This endpoint does not require authentication.
GET /api/public/share/:slug
Retrieves the snapshot content of a public dashboard.
| Parameter | Type | Description |
|---|---|---|
slug | string | The unique slug identifying the public dashboard. |
Example Request:
curl "https://api.greppilot.com/api/public/share/a1b2c3d4e5f6g7h8"
Example Response:
{
"name": "Team Performance Overview",
"theme": "dark-blue",
"components": [
{
"id": "comp-123",
"type": "chart",
"title": "Monthly Sales Trend",
"query": {
"connector": "postgres",
"naturalLanguage": "Show sales by month for the last year"
},
"data": [
{ "month": "Jan", "sales": 1200 },
{ "month": "Feb", "sales": 1500 }
// ... up to 1000 rows
],
"chartConfig": {
"type": "line",
"xField": "month",
"yField": "sales"
}
}
// ... other components
],
"updatedAt": "2023-10-27T10:30:00.000Z"
}
Response Fields:
name: The name of the dashboard.theme: The resolved theme applied to the dashboard (e.g.,"default","dark-blue").components: An array of component objects, each containing its type, title, query (without raw SQL), data (capped at 1000 rows), and specific configuration.updatedAt: The timestamp when the public dashboard snapshot was last generated or updated.
Error Conditions:
404 Not Found: Returned if the providedslugdoes not exist or has been revoked. The error message will be"This link has been revoked or does not exist".