Skip to main content
Glama

Update campaign settings

campaign_update
Idempotent

Change 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

NameRequiredDescriptionDefault
tagsNoTag 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.
titleNoShort label.
reloadNoRe-run the search periodically to pull in newly matching prospects.
agentIdNoAI 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.
assignToNoAssign leads to team members. Shape mirrors the web app.
scheduleNoSending window per weekday, keyed 0 (Sunday) to 6 (Saturday), in the campaign timezone.
timezoneNoIANA timezone, e.g. "America/New_York". Governs the schedule.
campaignIdYesCampaign id, from `campaign_list` or `campaign_create`.
snOutreachNoUse Sales Navigator messaging. Requires a Premium LinkedIn account.
trackOpensNoEMAIL steps: insert an open-tracking pixel.
emailAsTextNoSend email as plain text. Better deliverability, no tracking.
scheduledAtNoFuture timestamp to auto-start the campaign, instead of launching it now with `campaign_launch`.
stopOnReplyNoHalt a lead's sequence as soon as they reply. Default true.
trackClicksNoEMAIL steps: rewrite links for click tracking.
skipProfilesNoSkip prospects you already have an open conversation with.
leadsPriorityNoOrdering strategy for working the lead queue, e.g. "newest" / "oldest".
pauseCampaignNoPause the campaign without changing its status.
campaginLimitsNoPer-day caps per step type. Note the field spelling.
uniqueProfilesNoNever enrol the same profile in two campaigns. Default true.
emailAccountIdsNoMailboxes 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.
linkedAccountIdNoThe 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.
premiumProfilesNoOnly target LinkedIn Premium / Open Profile members.
connectionOutreachNoTarget existing 1st-degree connections instead of new ones.
prioritizeNewLeadsNoWork newly-found prospects before older ones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important mutation semantics: only passed fields are changed, and changing linkedAccountId rewrites that account onto every existing lead in the campaign. It also explains account-attachment behavior and cautions that agentId should not be set without user approval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but appropriately sized for a 24-parameter mutation tool, and it is front-loaded with the core purpose before exclusions and side effects. Each section adds operational value rather than restating the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, nested schema, and lack of an output schema, the description covers the critical context: scope, exclusions, alternatives, account attachment, and the linkedAccountId side effect. An agent has enough information to invoke it correctly without needing return-value details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful cross-parameter semantics: linkedAccountId is singular, emailAccountIds is a rotating list, and the user should be asked when there is a choice. It also adds caution around tags and agentId, though it does not explain every one of the 24 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: changing campaign settings such as title, accounts, schedule, limits, timezone, and safety toggles. It explicitly distinguishes this from status, sequence, and audience operations, so an agent can separate it from siblings like campaign_set_status, flow_set, and campaign_set_source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use and when-not-to-use guidance, naming alternatives for launching, pausing/resuming, deleting, sequence changes, and audience changes. It also states that archiving is web-app only and has no tool, which prevents the agent from searching for a nonexistent substitute.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources