# Tag leads

> Group leads with your own tags, then filter by them or use them in automations.

Every section below does the same job: in the dashboard (Guide), from your code (API) or through an AI assistant (MCP).

## Guide — In the dashboard

Source: /docs/leads/tags

Tags are your own labels on leads: “Hot”, “Partner”, “Follow up”… Filter the table by them, or let automations act on them.

<DemoFrame guide="leads-tags" to="/identify/{workspace}?tab=visitors" />

1. **+ Add tag** on a lead.
2. **Pick a tag**, or type a new name to create it.
3. **Manage tags** to rename, recolour or delete them.

### Every control on this screen [#every-control-on-this-screen]

Every button, field and switch, with what it does.

<ScreenControls screens={["tags"]} />


---

## API — From your code

Source: /docs/leads/tags/api

Authenticated with `?privateKey=YOUR_KEY` (see [Authentication](/docs/authentication)).

<Endpoints ops={["GET /v3/tags", "POST /v3/tags", "POST /v3/leads/{leadId}/tags/{tagId}", "DELETE /v3/leads/{leadId}/tags/{tagId}", "PUT /v3/tags/{tagId}", "DELETE /v3/tags/{tagId}"]} />

<ApiPlayground
  ops={["GET /v3/tags", "POST /v3/tags", "POST /v3/leads/{leadId}/tags/{tagId}", "DELETE /v3/leads/{leadId}/tags/{tagId}", "PUT /v3/tags/{tagId}", "DELETE /v3/tags/{tagId}"]}
  method="get"
  path="/v3/tags"
  tool="list_tags"
  args={`{
  "websiteId": "64b7f0a1c2d3e4f5a6b7c8d9"
}`}
/>

### Use case: Tag a lead from your CRM sync [#use-case-tag-a-lead-from-your-crm-sync]

Create the tag once with `POST /v3/tags`, then `POST /v3/leads/{leadId}/tags/{tagId}` for each lead.


---

## MCP — AI agents

Source: /docs/leads/tags/mcp

Connect the [MCP server](/docs/mcp#quickstart), then just ask.

<Tools names={["list_tags", "create_tag", "tag_lead", "remove_tags_from_lead", "update_tag", "delete_tag"]} />

### Use case [#use-case]

> Tag every lead from acme.example as “Hot”.

<McpToolCall name="tag_lead">

```json
{
  "leadId": "6530c1d2e3f4a5b6c7d8e9f2",
  "tagId": "6530c1d2e3f4a5b6c7d8e9f3"
}
```

</McpToolCall>

