Skip to main content
Glama

Skysay

Update a campaign

update_campaign
Destructive

Edit a campaign's settings. A draft accepts every setting; a scheduled or paused campaign accepts name, from_number_ids, calling windows and zone, retry policy, concurrency, ends_at and language (and scheduled_start_at while scheduled). A running campaign accepts no edits until it is paused. Returns the campaign and the list of changed fields.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
ends_atNo
purposeNo
agent_idNo
contactsNoReplacement audience, created as a new list inside the edit (drafts only).
languageNo
time_zoneNoIANA time zone (default UTC), matched and stored like a contact's time_zone: ignoring case, another spelling of a zone stored as the zone it names, an offset such as UTC-5 refused.
campaign_idYes
retry_policyNo
consent_basisNo
time_zone_modeNo
calling_windowsNo
contact_list_idNo
from_number_idsNo
max_concurrencyNo
organization_idNoOptional. Defaults to the authenticated workspace; when supplied it must be that workspace's id.
contact_list_nameNo
scheduled_start_atNo
contact_list_sourceNoHow the replacement audience was collected; recorded on the new list. Defaults to csv.
retry_policy_presetNo
reserved_concurrencyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare write/destructive/non-idempotent, so the safety profile is covered. The description adds substantial value beyond that: state-dependent field acceptance rules and an explicit statement of what is returned ('the campaign and the list of changed fields'). It stops short of spelling out what the destructive contacts replacement actually overwrites.

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?

Three tightly packed sentences, front-loaded with the action and then the state gating. Every sentence carries non-redundant information and there is no filler.

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

Completeness4/5

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

For a 21-param mutation tool with no output schema, the description covers the critical behavioral contract (state gating) and explicitly describes the return payload. Remaining gaps are individual parameter semantics that the thin schema leaves undocumented, but nothing an agent needs to decide when the call is legal.

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

Parameters3/5

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

Schema description coverage is only 19% across 21 params, so the description must carry weight. It does enumerate which fields are editable per state (name, from_number_ids, calling windows/zone, retry policy, concurrency, ends_at, language, scheduled_start_at), but adds no format, default, or constraint detail for the many uncovered params (contacts, agent_id, consent_basis, retry_policy_preset, reserved_concurrency, etc.). Partial compensation only.

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?

States a specific verb+resource ('Edit a campaign's settings') and immediately frames scope by campaign state, which cleanly separates it from the state-transition siblings (launch/pause/resume/cancel) and the pure read (get_campaign). An agent can tell what this does without opening the schema.

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?

Explicitly states when/when-not: drafts accept everything, scheduled/paused accept a named subset, and running campaigns accept nothing until paused. It implicitly routes the agent to pause_campaign first, which is exactly the alternative-selection guidance that matters here.

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.