Data & Insights
Data & Insights is the Slab5 area for turning application events and workspace records into operational analytics. It gives builders a path from raw product activity to Object Analytics, tracked objects, reusable BI views, scheduled insights, Analytics Sites, and Custom BI templates.
Use it when you want to answer questions such as:
- Which objects in my app are getting the most activity?
- Which landing pages, forms, accounts, tickets, projects, or workflow runs are active?
- Which events are happening by app, object type, object ID, and time window?
- Which operational signal should become a reusable BI view?
- Which insights should be refreshed on a schedule?
The module is workspace-scoped. Events, insight views, BI objects, schedules, and analytics sites stay inside the workspace selected by the user or API credential.
Console areas
The Slab5 console currently organizes Data & Insights into these main areas:
| Area | What it is for |
|---|---|
| Insights | Object Analytics, Insight Builder, Insight Views, and Analytics Sites. |
| Custom BI | Slab5-native BI templates built from workspace operational data. |
| Analytics Sites | Public or embedded analytics surfaces backed by Slab5 analytics definitions. |
Inside Insights, users can move between Object Analytics, Insight Builder, and Insight Views. Analytics Sites is promoted to its own Data & Insights console area because it manages event-collection site configuration, allowed origins, and site-level access.
Data & Insights is separate from the Data Agents API module. Data & Insights is the console analytics experience; Data Agents API is the developer and agent-facing module for governed datasets, lineage, execution jobs, decisions, recommendations, and knowledge artifacts.
Object Analytics
Object Analytics is a generic application-event explorer. It is not tied to a single app, CRM, marketing site, or workflow product. Developers can emit events from any product surface and use metadata to describe what the event belongs to.
An event can identify:
app: a developer-defined application or surface, such asmarketing-site,crm,customer-portal,support-console, orworkflow-app.event_name: the action that happened, such aspage.viewed,button.clicked,form.submitted,lead.created,ticket.opened, orworkflow.started.object_type: the thing being acted on, such aslanding_page,form,lead,account,ticket,workflow, orcampaign.object_id: the stable object identifier in the builder's app.properties: additional event details.
The Object Analytics table groups events by object so users can see which tracked objects are active over the selected window. It is already aggregated data, not a raw event stream. The grouping key is effectively:
app + object_type + object_id
That lets a builder compare activity across pages, forms, customers, workflows, or any object model they define.
Event collection
Applications send events into Slab5 through the application-event collection surface. A typical event payload includes the app, event name, object context, user or session context, and arbitrary properties.
curl -X POST "$SLAB5_API_BASE_URL/v1/insights/app-events" \
-H "Authorization: Bearer $SLAB5_API_KEY" \
-H "Content-Type: application/json" \
-H "x-slab5-workspace-id: $SLAB5_WORKSPACE_ID" \
-d '{
"app": "marketing-site",
"event_name": "form.submitted",
"object_type": "form",
"object_id": "beta-signup",
"properties": {
"source": "homepage",
"plan_interest": "growth"
}
}'
Use consistent event names and object identifiers. Slab5 does not require developers to register a formal app object before sending events; the app value is a developer-defined grouping key used for filtering and reporting.
Tracked objects
The tracked objects view is designed for quick inspection:
- Filter by app to focus on one product surface.
- Filter by object type to compare similar entities, such as forms or landing pages.
- Filter by object ID when investigating one object.
- Change the time window to compare recent activity.
- Use pagination when the workspace has many tracked objects.
Examples:
| Scenario | App | Object type | Object ID |
|---|---|---|---|
| Landing page analytics | marketing-site | landing_page | home |
| Beta signup form | marketing-site | form | beta-signup |
| CRM engagement | crm | lead | lead_123 |
| Support operations | support-console | ticket | ticket_456 |
| Workflow automation | agentgrid | workflow | x-post-creator |
Promote to BI
Promote to BI turns an Object Analytics view into a saved insight view. This is useful when a user discovers a useful operational slice and wants it to become reusable instead of re-entering filters every time.
The recommended flow is:
- Open Data & Insights → Insights → Object Analytics.
- Set the app, object type, object ID, and time window filters.
- Review the tracked objects table.
- Click Promote to BI.
- Name the insight view and confirm the source filters.
- Open the promoted view in Insight Builder or Insight Views.
- Schedule refresh if the view should update automatically.
Promoted views start as operational insight definitions. They can then be refreshed and scheduled like other BI-backed views.
Insight Builder
Insight Builder is where users inspect or configure saved insight definitions. It is the bridge between an operational signal and a reusable analytics view.
Use Insight Builder to:
- Review the source of an insight view.
- Confirm whether the view came from Object Analytics or another dataset.
- Inspect the configuration that defines the view.
- Open related saved views and scheduled refresh settings.
Insight Views
Insight Views are saved analytics definitions that can be reused across a workspace. A view may come from Object Analytics, a Custom BI template, or another supported dataset source.
Each view should make it clear:
- What question it answers.
- Which source data it uses.
- Whether it has refreshed yet.
- When it last refreshed.
- Whether it is scheduled.
- Whether the most recent refresh succeeded or failed.
Scheduling
Insight views and BI artifacts can be refreshed on a schedule. Current scheduling options include:
- Hourly
- Daily
- Weekly
- Monthly
For monthly schedules, use Last day of month when the schedule should run at month end regardless of whether the month has 28, 29, 30, or 31 days.
Analytics Sites
Analytics Sites are surfaces for packaging analytics into a site-like experience. They are useful when a team wants to share a curated analytics view with a specific audience instead of sending users into the full console.
Use Analytics Sites for:
- Customer-facing reporting portals.
- Internal executive dashboards.
- Campaign reporting pages.
- Client reporting for agencies.
- Embedded analytics experiences in vertical apps.
Custom BI
Custom BI uses Slab5 operational data for workspace analytics. Built-in templates are launchable without external connectors because they read workspace-scoped Slab5 records.
Current Slab5-native templates include:
content_performance: CMS entries, marketing posts, and campaigns by status, channel, content type, published count, and budget.crm_pipeline: deals by stage, stage key, currency, count, and value.support_ticket_health: tickets by status and priority with first-response and resolution SLA risk counts.usage_activation: usage events by date, event type, route, method, credential path, units, and billed usage.agentops_execution_health: Data Agent execution jobs by job type, status, trigger, attempts, and average duration.
Custom BI runs
Runs show the execution history behind Custom BI refreshes, scheduled jobs, exports, and Data Agent-backed BI work. Use this view to confirm whether a refresh was queued, running, completed, or failed, and to inspect attempts, trigger source, queued time, finish time, related objects, and job details.
Custom BI runs are useful when a team needs to answer:
- Did this report or metric refresh successfully?
- Was the job triggered manually, by schedule, or by an analytics pipeline?
- How many attempts did the job need?
- When was the job queued and when did it finish?
- Which related asset, view, or pipeline produced the run?
REST resources
Use bi:read to list BI objects and bi:write to create, update, archive, run queries, create exports, and manage scheduled artifacts.
Common BI endpoints:
GET /v1/bi/dashboardsPOST /v1/bi/dashboardsGET /v1/bi/datasetsPOST /v1/bi/datasetsGET /v1/bi/reportsPOST /v1/bi/reportsGET /v1/bi/metricsPOST /v1/bi/metricsGET /v1/bi/queriesPOST /v1/bi/queries/runGET /v1/bi/exportsPOST /v1/bi/exportsGET /v1/bi/scheduled-artifactsPOST /v1/bi/scheduled-artifactsPATCH /v1/bi/{collection}/{id}DELETE /v1/bi/{collection}/{id}
Application event and Object Analytics endpoints:
POST /v1/insights/app-eventsGET /v1/insights/app-events
The Object Analytics read endpoint returns grouped object analytics for the selected app, object filters, and time window.
MCP tools
The BI module is also available to MCP clients through these tools:
list_bi_dashboardscreate_bi_dashboardlist_bi_reportscreate_bi_reportlist_bi_datasetscreate_bi_datasetlist_bi_metricscreate_bi_metricrun_bi_querycreate_bi_exportupdate_bi_objectarchive_bi_object
Examples
Run a built-in workspace dataset query:
curl -X POST "$SLAB5_API_BASE_URL/v1/bi/queries/run" \
-H "Authorization: Bearer $SLAB5_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dataset_key": "api_usage",
"limit": 25
}'
Run a Slab5-native Custom BI template:
curl -X POST "$SLAB5_API_BASE_URL/v1/bi/queries/run" \
-H "Authorization: Bearer $SLAB5_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dataset_key": "content_performance",
"limit": 25
}'
Create a BI export artifact:
curl -X POST "$SLAB5_API_BASE_URL/v1/bi/exports" \
-H "Authorization: Bearer $SLAB5_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekly activation CSV",
"format": "csv",
"query_id": "query_123"
}'
Traceability
Slab5 records Data & Insights activity with workspace context and request IDs. This helps teams trace event collection, BI query runs, scheduled refreshes, MCP tool calls, and API requests when reviewing usage, debugging integrations, or supporting enterprise audit workflows.
