> ## Documentation Index
> Fetch the complete documentation index at: https://docs.attention.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Labels

> Manage label categories used to classify calls; apply or update labels on individual conversations.

Labels are the classification system Attention's AI uses to categorize calls (e.g. `Call Type` → `Discovery`, `Demo`, `Negotiation`). Each **label category** holds one or more **options**. Label categories can drive scorecard applicability, intelligence collection criteria, and reporting.

This group covers reading the catalog, managing categories and options (admin), and applying labels to individual conversations.

## Read tools

### list\_labels

<Note>Scope: `mcp:read`.</Note>

List label categories and their classification options. Each category contains options that Attention's AI uses to classify calls.

<ParamField query="team_id" type="string">
  Filter labels by team ID. If omitted, returns all org labels.
</ParamField>

<ParamField query="label" type="string">
  Search labels by name (case-insensitive substring match).
</ParamField>

<ParamField query="ai_flow" type="boolean">
  Filter by AI flow status. `true` = only AI-classified labels, `false` = only manual labels.
</ParamField>

**Returns:** Markdown list of label categories with description, AI flow status, team scope, and options.

## Category write tools

### create\_label

<Warning>Scope: `mcp:write`. Requires admin role.</Warning>

Create a new label category. A label category contains one or more options that Attention's AI classifies calls into.

<ParamField query="label" type="string" required>
  The name of the label category.
</ParamField>

<ParamField query="description" type="string">
  Description of what this label represents.
</ParamField>

<ParamField query="options" type="array">
  The classification options within this category. Each entry: `{ "value": "Pricing Discussion", "description": "Optional context for the AI" }`. A label category needs at least one option to classify calls.
</ParamField>

<ParamField query="ai_flow" type="boolean">
  Must be `true` for the label to appear in the UI and classify calls. Defaults to `true`.
</ParamField>

<ParamField query="all_teams" type="boolean">
  Apply to all teams. If `false`, use `team_ids`.
</ParamField>

<ParamField query="team_ids" type="array">
  Team IDs this label applies to. Ignored if `all_teams` is `true`.
</ParamField>

***

### update\_label

<Warning>Scope: `mcp:write`. Requires admin role.</Warning>

Update an existing label category, including its classification options. Omitted fields preserve current values. Note that `options` is **replace-all** — providing it overwrites every existing option.

<ParamField query="label_id" type="string" required>
  The UUID of the label category.
</ParamField>

<ParamField query="label" type="string">
  New name.
</ParamField>

<ParamField query="description" type="string">
  New description. Set to empty string to clear.
</ParamField>

<ParamField query="options" type="array">
  Replace the classification options for this category.
</ParamField>

<ParamField query="ai_flow" type="boolean">
  Whether this category is active in AI classification.
</ParamField>

<ParamField query="all_teams" type="boolean">
  Apply to all teams.
</ParamField>

<ParamField query="team_ids" type="array">
  Team IDs this label applies to.
</ParamField>

***

### delete\_label

<Warning>Scope: `mcp:write`. Requires admin role. Destructive.</Warning>

Delete a label category and all its options. This is permanent.

<ParamField query="label_id" type="string" required>
  The UUID of the label category to delete.
</ParamField>

## Conversation labels

### change\_conversation\_labels

<Warning>Scope: `mcp:write`.</Warning>

Apply or update labels on a specific conversation. Labels are passed as a key-value map where keys are label category names (use `list_labels` to see them).

<ParamField query="conversation_id" type="string" required>
  UUID of the conversation to label.
</ParamField>

<ParamField query="labels" type="object" required>
  Labels to set, as key-value pairs. Keys are label category names, values are the label values.

  Example:

  ```json theme={null}
  { "Call Type": "Discovery", "Outcome": "Positive" }
  ```
</ParamField>

<ParamField query="skip_analysis" type="boolean">
  Skip CRM intelligence refresh after the label change. Default: `false`.
</ParamField>
