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_id is 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:

OAuth MCP callhttp
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:

Static token MCP callhttp
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.

Workflow argumentsjson
{
  : 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_uri and vector_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.

Structured tool resultjson
{
  : 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.id before treating the dataset proposal as approved.
  • Review the knowledge_artifact.id before adding it to retrieval workflows.
  • Use the returned recommendation.id for task creation, owner assignment, or operational follow-up.
  • Keep the credential scoped to bi:write and data_agents:write unless the same agent also needs to read or update source records.

Was this page helpful?