MCP business workflows
Business workflow tools create several durable Slab5 objects in one governed agent action. Use them when an agent should operationalize an outcome, not just create one low-level record.
Content performance knowledgebase
create_content_performance_knowledgebase creates the Slab5 records needed for the Content Performance Knowledgebase guided flow:
- A BI dataset for content performance analysis.
- A Data Agent execution plane, unless
execution_plane_idis provided. - A proposed Data Agent dataset version.
- A Data Agent decision for human review.
- Source lineage edges for marketing, post, and CMS data.
- A knowledge artifact record for the generated analysis.
- An insight and first operational recommendation.
This tool creates durable workflow records that can be reviewed, approved, indexed, and connected to follow-up work.
Required scopes:
bi:write
data_agents:write
The workspace must have the Data & Insights module and Slab5 Data Agents module enabled before the tool can run.
Authentication
OAuth is the preferred MCP auth method for hosted and enterprise users because it can be backed by SSO, MFA, workspace membership, and explicit OAuth workspace grants. Static MCP tokens are still supported for quickstarts, service agents, and workspaces whose MCP auth policy allows static tokens.
For OAuth, grant the OAuth subject bi:write and data_agents:write on the target workspace. For a static MCP token, select the same scopes when creating or editing the MCP client token.
Use OAuth when the client supports MCP OAuth discovery:
POST https://mcp.slab5.com/v1?workspace_id=wrk_...
Authorization: Bearer AUTHKIT_OAUTH_ACCESS_TOKEN
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": "content-performance-kb-1",
"method": "tools/call",
"params": {
"name": "create_content_performance_knowledgebase",
"arguments": {
"dataset_key": "content_performance_kb",
"dataset_name": "Content Performance Knowledgebase",
"title": "Create content performance knowledgebase",
"theme": "content performance"
}
}
}Use a static workspace MCP token when the workspace policy allows static tokens:
POST https://mcp.slab5.com/v1
Authorization: Bearer SLAB5_WORKSPACE_MCP_TOKEN
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": "content-performance-kb-1",
"method": "tools/call",
"params": {
"name": "create_content_performance_knowledgebase",
"arguments": {
"dataset_key": "content_performance_kb",
"dataset_name": "Content Performance Knowledgebase",
"title": "Create content performance knowledgebase",
"theme": "content performance"
}
}
}Request body
Minimum required arguments are dataset_key, dataset_name, and title. The workflow supplies useful defaults for execution plane configuration, source lineage, dataset definition, materialization, knowledge artifact kind, insight fields, and recommendation fields.
{
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"dataset_key": : var(--shiki-token-string)">"content_performance_kb",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"dataset_name": : var(--shiki-token-string)">"Content Performance Knowledgebase",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"title": : var(--shiki-token-string)">"Create content performance knowledgebase",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"theme": : var(--shiki-token-string)">"content performance",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"artifact_kind": : var(--shiki-token-string)">"content_performance_knowledgebase",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"insight_title": : var(--shiki-token-string)">"Content performance knowledgebase ready for review",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"recommendation_title": : var(--shiki-token-string)">"Review top content opportunities",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"metadata": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"generated_by": : var(--shiki-token-string)">"console_playground",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"sample_workflow": : var(--shiki-token-constant)">true
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"idempotency_key": : var(--shiki-token-string)">"content-performance-kb-: var(--shiki-token-constant)">2026-: var(--shiki-token-constant)">05-: var(--shiki-token-constant)">24"
}Important optional arguments:
execution_plane_id: reuse an existing execution plane instead of creating one.campaign_id,cms_entry_id,marketing_post_id: attach source references to the generated decision, artifact, and insight.source_objects: override the default lineage sources.artifact_uriandvector_index_ref: link the generated knowledge artifact to storage or indexing output.recommendation: provide a complete custom recommendation object.idempotency_key: apply stable child idempotency keys to the dataset, execution plane, dataset version, and decision writes.
Response shape
The result returns the durable objects created by the workflow. Store the IDs you need for approval, artifact generation, follow-up tasks, or later recommendation execution.
{
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"dataset": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"bi_dataset_..."
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"execution_plane": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_execution_plane_..."
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"dataset_version": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_dataset_version_..."
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"decision": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_decision_...",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"approval_status": : var(--shiki-token-string)">"pending"
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"lineage_edges": [
{
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_lineage_edge_..."
}
],
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"knowledge_artifact": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_knowledge_artifact_...",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"kind": : var(--shiki-token-string)">"content_performance_knowledgebase"
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"insight": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_insight_...",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"insight_type": : var(--shiki-token-string)">"content_performance_knowledgebase"
},
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"recommendation": {
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"id": : var(--shiki-token-string)">"data_agent_recommendation_...",
: var(--shiki-token-string)">"color: var(--shiki-token-parameter)">: var(--shiki-token-string)">"approval_status": : var(--shiki-token-string)">"pending"
}
}The decision.id is the review handle for approving or rejecting the dataset proposal. The knowledge_artifact.id is the handle for later indexing, asset attachment, or generated brief publication. The recommendation.id is the handle for operational follow-up.
Operational guidance
Use this workflow when the workspace already has enough CMS, marketing, and BI context to produce useful content-performance records. A typical review process is:
- Run the tool with an idempotency key for repeatable creation.
- Review the returned
decision.idbefore treating the dataset proposal as approved. - Review the
knowledge_artifact.idbefore adding it to retrieval workflows. - Use the returned
recommendation.idfor task creation, owner assignment, or operational follow-up. - Keep the credential scoped to
bi:writeanddata_agents:writeunless the same agent also needs to read or update source records.
