Skip to main content
Glama

Create and launch a calling campaign

start_campaign
Destructive

Create a calling campaign and launch it immediately. Phone Bud dials every number in entries with the same agent + objective, then extracts structured results per call. Each entry needs a number — give to_phone directly, or contact_name/contact_id to look one up. The agent is optional (defaults to the favorite). Use output_fields to define what to extract from each call (e.g. price, availability). Calls run in the background; poll get_campaign for status and results.

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": {
      "name": "<name>",
      "goal": "<goal>",
      "ask_script": "<ask_script>",
      "entries": "<entries>"
    },
    "name": "start_campaign"
  }
}

Input Schema

NameRequiredDescriptionDefault
goalYesWhat the campaign is trying to achieve overall — guides extraction + summary.
modeNoDial one at a time (default) or several at once.
nameYesShort campaign name, e.g. 'Caterer quotes'.
entriesYesWho to call. At least one entry; each needs to_phone, contact_name, or contact_id.
agent_idNoVoice agent UUID. If omitted, uses the user's favorite agent.
ask_scriptYesWhat the agent should say/ask on every call (the per-call objective).
from_phoneNoCaller-ID to display. Account default or a verified caller_id.
concurrencyNoMax simultaneous calls when mode is 'parallel' (1-5).
output_fieldsNoStructured fields to extract from each call's transcript.
voicemail_behaviorNoWhat the agent does on each call if voicemail/an answering machine is detected: 'leave_message', 'hangup', or 'continue'. Defaults to the account setting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Adds behavior beyond the annotations: calls run in the background rather than blocking, results are extracted per call, and the agent defaults to the user's favorite. It does not mention cost, billing, or that launched calls cannot be recalled, though destructiveHint=true already signals the mutation risk.

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?

Front-loaded with the action and launch semantics, then flows logically through entries, agent defaults, output_fields, and result polling. Roughly five sentences, each carrying distinct information with 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?

Given ten parameters and no output schema, the description covers the essential lifecycle: creation, immediate launch, phone-number resolution, extraction fields, and the follow-up polling path. It omits what the create response returns (e.g., campaign ID) and any cost or failure caveats.

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 schema already documents every parameter and default. The description adds only light clarification — that each entry needs one of to_phone/contact_name/contact_id and a concrete example for output_fields — which largely restates the schema.

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?

States a specific verb and resource ('Create a calling campaign and launch it immediately') and explains the core mechanic: dialing every entry with one agent and objective, then extracting per-call results. It partially differentiates from siblings by routing status checks to get_campaign, but never explicitly contrasts with make_call for single calls.

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

Usage Guidelines4/5

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

Clear context for when to use it (batch outbound calling across a list of entries) and procedural guidance on defining output_fields and polling get_campaign afterward. It lacks explicit when-not-to-use guidance or a named alternative for a single ad-hoc call.

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