Update campaign settings
campaign_updateChange a campaign's SETTINGS: title, sending accounts, schedule, daily limits, timezone and every safety toggle. Only the fields you pass are changed. Attaching accounts is done here: one linkedAccountId for LinkedIn steps, and emailAccountIds — a list — for EMAIL steps. Ask the user which accounts when there is a choice. NOT this tool: campaign status. It cannot start, pause, resume, archive or delete a campaign, and there is no status parameter. To start one use campaign_launch; to pause or resume one, campaign_set_status; to remove one, campaign_delete. Archiving is web-app only and has no tool at all — say so rather than looking for a substitute. Nor does it touch the sequence (flow_set) or the audience (campaign_set_source). One side effect worth knowing: changing linkedAccountId rewrites that account onto every lead already in the campaign, not just future ones.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag ids applied to every lead in this campaign — this identifies the campaign's leads, so it should be a tag belonging to THIS campaign. Never reuse another campaign's tag: the two campaigns' leads then become indistinguishable. Mint one with `tag_create` (short label, interest NEUTRAL) and pass its id. Pass [] to remove all tags. | |
| title | No | Short label. | |
| reload | No | Re-run the search periodically to pull in newly matching prospects. | |
| agentId | No | AI agent that answers replies in this campaign's inbox. Pass null to detach it. Never set this on your own: an agent writes to real prospects without further approval. Ask the user whether they want one, and offer both routes — pick an existing agent from `agent_list`, or build one with `agent_upsert`, give it material with `kb_upsert` and `kb_attach`, then `agent_train`. A campaign with no agent is perfectly normal; replies just come to the inbox. | |
| assignTo | No | Assign leads to team members. Shape mirrors the web app. | |
| schedule | No | Sending window per weekday, keyed 0 (Sunday) to 6 (Saturday), in the campaign timezone. | |
| timezone | No | IANA timezone, e.g. "America/New_York". Governs the schedule. | |
| campaignId | Yes | Campaign id, from `campaign_list` or `campaign_create`. | |
| snOutreach | No | Use Sales Navigator messaging. Requires a Premium LinkedIn account. | |
| trackOpens | No | EMAIL steps: insert an open-tracking pixel. | |
| emailAsText | No | Send email as plain text. Better deliverability, no tracking. | |
| scheduledAt | No | Future timestamp to auto-start the campaign, instead of launching it now with `campaign_launch`. | |
| stopOnReply | No | Halt a lead's sequence as soon as they reply. Default true. | |
| trackClicks | No | EMAIL steps: rewrite links for click tracking. | |
| skipProfiles | No | Skip prospects you already have an open conversation with. | |
| leadsPriority | No | Ordering strategy for working the lead queue, e.g. "newest" / "oldest". | |
| pauseCampaign | No | Pause the campaign without changing its status. | |
| campaginLimits | No | Per-day caps per step type. Note the field spelling. | |
| uniqueProfiles | No | Never enrol the same profile in two campaigns. Default true. | |
| emailAccountIds | No | Mailboxes for EMAIL steps. Unlike the LinkedIn account, several are allowed and sends rotate across them. Only attach these if the user wants email steps, and ask which mailboxes. | |
| linkedAccountId | No | The ONE LinkedIn account this campaign sends from. Required for any LinkedIn step. A campaign cannot use two. If `linkedin_account_list` returns more than one, ask the user which — do not pick for them. | |
| premiumProfiles | No | Only target LinkedIn Premium / Open Profile members. | |
| connectionOutreach | No | Target existing 1st-degree connections instead of new ones. | |
| prioritizeNewLeads | No | Work newly-found prospects before older ones. |