Skip to main content
Glama

Get voice campaign report

get_voice_campaign_report
Read-onlyIdempotent

Per-agent results of one voice campaign: contacts handled, calls left without a disposition (timeout) and the average handle time in seconds, plus the campaign-wide average. An AI voice campaign (handler_type voice_ai) also has ai: calls placed and answered, AI minutes, transfers to people, voicemails, opt-outs, hot leads, call backs still due, the contacts per disposition and by_decided_by (who decided each outcome: ai_agent, jev = an AI check during the call, post_call = the summary, human, system). ai.dial_causes counts the calls that reached nobody by cause (voicemail_detected, busy, declined, unavailable, no_answer, number_not_found, no_route, carrier_rejected, timeout, platform_error, unknown) and ai.unreached splits the contacts not reached into failed, no_answer, voicemail and other. A campaign that chains people per group (for example a company whose authorized people are called one after another) also has fallback_groups: groups reached and at which person (reached_by_order), still open, not reached, and with no valid number.

Input Schema

NameRequiredDescriptionDefault
fieldsNoOptional: return only these fields of each record.
campaign_idYesCampaign id as returned by list_voice_campaigns.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / fields / items / enum
      Previous value: -[
      -  "agents",
      -  "avg_handle_time_secs"
      -]New value: +[
      +  "agents",
      +  "avg_handle_time_secs",
      +  "ai",
      +  "fallback_groups"
      +]
  2. Added

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, so safety behavior is covered. The description goes well beyond that by disclosing the exact content of the return payload — disposition/timeout semantics, ai fields, dial_causes, unreached breakdown, and fallback_groups semantics — which is essential because there is no output schema. It does not mention auth or rate limits.

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?

Purpose is front-loaded in the first clause, and each subsequent sentence covers a distinct data section (AI-only fields, fallback_groups). It is dense with enumerations, but since no output schema exists these enumerations earn their place rather than being 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 read-only report tool with no output schema, the description carries the full burden of return-value disclosure and does so thoroughly, while annotations cover the safety profile. The main gap is the absence of routing guidance toward or away from sibling report tools.

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 campaign_id and fields are already documented. The description implicitly describes the four selectable field groups (agents, avg_handle_time_secs, ai, fallback_groups), which adds mild meaning to the fields parameter, but adds no syntax or format detail beyond the schema. Baseline 3 is appropriate.

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 states a specific verb (report) and resource (one voice campaign) and enumerates exactly what content the report carries: per-agent results, campaign-wide average, AI voice campaign metrics, and fallback_groups. It is clearly a report/aggregate rather than the campaign config, so the agent can distinguish it from get_voice_campaign. It stops short of naming sibling tools, which would have earned a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites (e.g. that campaign_id should come from list_voice_campaigns, though the schema notes this), and no statement of when to prefer this report over get_voice_campaign or the sibling report tools. The agent must infer from the name and fields alone.

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