Skip to main content
Glama

Delete a campaign

campaign_delete
DestructiveIdempotent

Remove a campaign from your account by moving it to DELETED. Nothing is erased — the campaign, its leads, sequences and activity records all stay in the database, and the campaign simply stops appearing in listings. There is no tool to bring it back, so confirm with the user first. Sending stops because the workers only pick up ACTIVE campaigns; to stop sending without removing the campaign, that is a pause, which belongs in the web app. The only tool allowed to write a campaign status, and the only value it writes is DELETED — campaign_update has no status parameter and nothing sets ACTIVE, PAUSED or ARCHIVED. Deleted campaigns vanish from campaign_list, so confirm before calling: there is no undelete.

Input Schema

NameRequiredDescriptionDefault
campaignIdYesCampaign id, from `campaign_list` or `campaign_create`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare destructiveHint and idempotentHint, but the description goes well beyond them: it explains this is a soft delete, that leads/sequences/activity records persist, that sending halts because workers only pick up ACTIVE campaigns, and that there is no reversal path. That is rich, non-obvious behavioral context that the annotations alone cannot convey.

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?

The critical warning (no undelete, confirm first) is front-loaded, and most sentences carry distinct information. However, the irreversibility point is restated three times ("no tool to bring it back," "confirm with the user first," "confirm before calling: there is no undelete"), which is more repetition than the warning requires.

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 one-parameter mutation with no output schema, the definition covers safety, side effects, and post-call visibility thoroughly. The remaining gap is the inaccurate claim about being the sole status writer, which could cause an agent to overlook `campaign_set_status`.

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?

There is a single parameter with 100% schema description coverage, and the schema already documents it as the id from `campaign_list` or `campaign_create`. The description adds no syntax, format, or edge-case guidance about campaignId, so baseline 3 applies.

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 gives a precise verb and resource plus the actual mechanism: the campaign is moved to DELETED rather than erased. It also distinguishes the tool from campaign_update by parameter shape. The only blemish is the flat assertion that this is "the only tool allowed to write a campaign status," which sits awkwardly against the sibling `campaign_set_status` and could mislead an agent comparing them.

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?

Explicit when-to-use, when-not-to-use (pausing sending belongs in the web app), and a required confirmation step with the user before calling. It also names the consequence of misuse (vanishing from campaign_list, no undelete), which is exactly the routing information an agent needs.

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