# get_campaign (/docs/mcp/tools/get-campaign)

{/* Generated by scripts/sync-mcp-tools.mjs from happierleads-api. Do not edit: change src/routes/mcp/toolDocs.json there, or add content/mcp-notes/get_campaign.mdx. */}

**Get campaign details** · Read-only

Get one email campaign with live analytics: settings (isActive, schedule, timezone), its steps in emailCampaignTemplates[] (each with _id = templateId for update_campaign_step, subject, body and per-step stats), stats (prospect total, scheduledCount, uniqueContacted, totalEmailsSent, opens, clicks, replies, warm replies, bounced, unsubscribed and their rates), steps[] (per-step sent/opened/clicked/replied), statusBuckets (prospect counts per status) and statistics (sent vs scheduled over time). campaignId comes from list_campaigns. Use get_prospects for the contacts themselves.

| Connection | Account URL, team member URL or OAuth |
| --- | --- |

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `campaignId` | `string` | Yes | Email campaign id from list_campaigns or create_campaign. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "get_campaign",
  "title": "Get campaign details",
  "annotations": {
    "title": "Get campaign details",
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "campaignId": {
        "type": "string",
        "description": "Email campaign id from list_campaigns or create_campaign."
      }
    },
    "required": [
      "campaignId"
    ]
  }
}
```
