# update_campaign (/docs/mcp/tools/update-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/update_campaign.mdx. */}

**Update a campaign** · Changes data · Acts outside your account

Renames a campaign, starts it (status active: emails start going out to its contacts) or pauses it, or changes its sending days (0 Sunday to 6 Saturday), hours (timeSlot start and end, 0-24), timezone or open/click tracking. Fields left out stay as they are. Confirm with the user before setting status active. Returns 404 when the campaign is not one of this website's.

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

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `websiteId` | `string` | Yes | Website ID from list_websites (the campaign's website). |
| `campaignId` | `string` | Yes | campaignId from list_campaigns. |
| `name` | `string` | No | New name. |
| `status` | `"active" \| "paused"` | No | active to start sending, paused to stop. |
| `daysRange` | `number[]` | No | Days to send on, 0 (Sunday) to 6 (Saturday). |
| `timeSlot` | `object` | No | Sending hours in the campaign timezone. |
| `timeSlot.start` | `number` | No | First hour, 0-23. |
| `timeSlot.end` | `number` | No | Last hour, 1-24. |
| `timezone` | `string` | No | IANA timezone, e.g. Europe/London. |
| `isTrackingEnabled` | `boolean` | No | Track opens and clicks. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "update_campaign",
  "title": "Update a campaign",
  "annotations": {
    "title": "Update a campaign",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": true
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "websiteId": {
        "type": "string",
        "description": "Website ID from list_websites (the campaign's website)."
      },
      "campaignId": {
        "type": "string",
        "description": "campaignId from list_campaigns."
      },
      "name": {
        "type": "string",
        "description": "New name."
      },
      "status": {
        "type": "string",
        "enum": [
          "active",
          "paused"
        ],
        "description": "active to start sending, paused to stop."
      },
      "daysRange": {
        "type": "array",
        "items": {
          "type": "number",
          "minimum": 0,
          "maximum": 6
        },
        "description": "Days to send on, 0 (Sunday) to 6 (Saturday)."
      },
      "timeSlot": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number",
            "minimum": 0,
            "maximum": 23,
            "description": "First hour, 0-23."
          },
          "end": {
            "type": "number",
            "minimum": 1,
            "maximum": 24,
            "description": "Last hour, 1-24."
          }
        },
        "description": "Sending hours in the campaign timezone."
      },
      "timezone": {
        "type": "string",
        "description": "IANA timezone, e.g. Europe/London."
      },
      "isTrackingEnabled": {
        "type": "boolean",
        "description": "Track opens and clicks."
      }
    },
    "required": [
      "websiteId",
      "campaignId"
    ]
  }
}
```
