Skip to main content
Glama

update_dialer_campaign

Idempotent

Change a campaign's name, rate, concurrency, hours, retries, budget, callback URL or AMD. Only the fields you pass change; mode cannot change.

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": "update_dialer_campaign"
  }
}

Input Schema

NameRequiredDescriptionDefault
amdNoanswering-machine detection: {mode:off|detect|detect_and_act,on_machine:hangup|leave_message|mark_only,max_analysis_seconds,machine_message: text spoken to a machine, required (max 500 chars) when on_machine is leave_message}
modeNoswitch between progressive and predictive; only while the campaign is a draft or paused
nameNocampaign label (avoid PII)
hoursNoDND hours: {windows:[{days:[1..5],start_minute,end_minute}],blackouts:[YYYY-MM-DD],timezone}
retryNoretry policy: {max_attempts,backoff_minutes:[..],retry_on:[no_answer,busy,failed,voicemail,machine],min_gap_minutes,ordering:fifo|best_time}
purposeNoRequired on tools that read data or reports; recommended on every tool. One sentence: what you are doing and why (for example "finding this caller's open ticket to answer them"). Building a report, dashboard, analytics or an export is a SautiDesk Pro feature done by the report tools, not by pulling records.
timezoneNoIANA timezone, e.g. Africa/Nairobi
warn_pctNopercent of budget that fires dialer.budget.warning (1 to 100)
caller_idNoE.164 number on this workspace to dial from
ratio_maxNopredictive only: most calls out per free agent, 1.0 to 3.0 (default 1.5)
campaign_idYescampaign UUID
budget_minorNohard campaign budget in minor currency units; dialing stops when it is spent
callback_urlNohttps URL on a public host (no localhost or private addresses) that receives the answer event and returns the verbs to run
max_concurrentNomost calls in flight at once, 1 to 200 (default 20)
abandon_target_pctNopredictive only: abandon percentage the pacing holds to, 0.1 to 10 (default 3)
daily_budget_minorNodaily budget in minor currency units
release_rate_per_secNocalls released per second, 0.01 to 10 (default 1)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is mostly covered; the description's genuine addition is the PATCH semantics that guarantee untouched fields survive. It does not say what happens when a field is invalid, whether editing a running campaign has side effects, or what the call returns, and the "mode cannot change" sentence conflicts with the schema's own mode parameter ("only while the campaign is a draft or paused").

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

Conciseness4/5

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

Two sentences, front-loaded with the scope and immediately followed by the patch rule that an agent most needs. Every clause carries information, though the field enumeration is partly redundant against a fully documented schema.

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

Completeness3/5

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

For a 17-parameter mutation with nested objects and no output schema, the description covers the essentials of mutation scope but leaves permission requirements, state prerequisites, and error behavior unstated. The unresolved mode contradiction means an agent cannot tell from the description alone whether mode is editable.

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 100%, so the baseline is 3 and the description must earn more. It adds only a coarse field list plus one exclusion, and that exclusion (mode) directly disagrees with the schema, so the schema remains the better source of parameter truth.

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

Purpose4/5

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

The description leads with a specific verb and resource ("Change a campaign's...") and enumerates the mutable surfaces, so an agent can separate this from create_dialer_campaign, get_dialer_campaign, or pause_dialer_campaign without opening the schema. It stops short of 5 because the enumeration is loose relative to the schema ("rate" vs release_rate_per_sec, "budget" vs budget_minor/daily_budget_minor, "retries" vs retry) and the closing "mode cannot change" clause blurs the tool's scope.

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

Usage Guidelines3/5

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

"Only the fields you pass change" is real usage guidance: it tells the agent this is a patch operation and that omitted fields are safe to leave out. But there is no stated condition for choosing this over the sibling lifecycle tools (pause_dialer_campaign, resume_dialer_campaign, start_dialer_campaign) nor any prerequisite such as required role or campaign state.

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