Update campaign
update_campaignReplace a campaign's name, time zone, send window, reply handling and audience, all at once: every field is required and none has a default. Read the campaign with get_campaign first and send back what should stay; filter_groups [] means every contact. On a live campaign the new audience applies at once: new matches are enrolled and people who stop matching leave. The status never changes here (set_campaign_status), and steps are edited with the step tools.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"campaign_id": "<campaign_id>",
"name": "<name>",
"timezone": "<timezone>",
"send_window": "<send_window>",
"is_stopped_on_reply": "<is_stopped_on_reply>",
"filter_groups": "<filter_groups>"
},
"name": "update_campaign"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| timezone | Yes | IANA time zone. | |
| campaign_id | Yes | ||
| send_window | Yes | When emails may go out, in the contact's time zone (else the campaign's). Null sends at any hour. | |
| filter_groups | Yes | A contact matches when it passes every filter of at least one group. An empty list means every contact in the project. | |
| is_stopped_on_reply | Yes |