Skip to main content
Glama

delete_webhook

Delete a webhook subscription by its ID to clean up retired integrations, remove dead receiver URLs, and prevent delivery-log noise when rotating webhook secrets.

Instructions

Tear down a webhook subscription by id.

When to use: cleanup when an integration is being retired, when the receiver URL is dead and you do not want delivery-log noise, or when rotating a webhook secret (delete + register fresh).

Behavior: removes the subscription row and any pending entries in webhook_delivery_log. Auth: the registrant's token, OR an authenticated agent with webhooks capability for cross-owner cleanup.

Returns on success: { success: true, webhook_id, note: 'Webhook deleted' }. Returns on missing-id: { success: false, webhook_id, note: 'Webhook not found' } with isError: true — this surfaces as a tool error so callers know the id was already gone (NOT a soft-success).

Errors: AUTH_FAILED, INVALID_INPUT. Missing-id is reported via the success: false + isError: true envelope above, not a separate error_code.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
webhook_idYesWebhook subscription ID to delete
agent_tokenNoYour agent token (from register_agent response). Optional here — also resolvable from RELAY_AGENT_TOKEN env or X-Agent-Token header.
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it delivers substantially. It explicitly states the destructive nature (removes subscription row AND pending delivery log entries), the auth requirements, exact success/failure return envelopes, the isError:true soft-fail semantics (missing-id surfaces as tool error, NOT a soft-success), and the distinction between error codes and the envelope. The only minor gap is not elaborating on side effects like dependent resources referencing the deleted webhook. No contradiction with any annotation (none exist).

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?

Structured into labeled sections (When to use, Behavior, Returns, Errors) which aids scanning and front-loads the most critical info. At roughly 130 words, it is somewhat long but every section earns its place—the error semantics, in particular, genuinely matter for correct invocation. Slight verbosity in the Returns section where a shorter form would do, but overall well-organized.

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 this is a destructive mutation tool with NO annotations and NO output schema, the description compensates well by documenting side effects (delivery-log cleanup), return envelopes, error semantics, and auth requirements. It covers the essential operational context a caller needs. Minor gaps remain: no mention of idempotency behavior or whether concurrent delete failures occur, but these are edge cases beyond the minimum viable scope.

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 coverage is 100%; both parameters (webhook_id, agent_token) already have descriptions in the schema. The description reinforces that agent_token is optional and resolvable from env/header, consistent with schema. It adds marginal value by emphasizing webhook_id is the selection mechanism, but the schema already handles parameter semantics adequately. Baseline 3 is appropriate when schema does the heavy lifting.

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?

Specific verb ('Tear down') + resource ('webhook subscription') + method of identification ('by id'). Clearly distinguishes from siblings: register_webhook and list_webhooks are creation/listing, while delete_webhook is the teardown counterpart. The description immediately establishes what the tool does without ambiguity.

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' section covers three concrete scenarios: integration retirement, dead receiver URL with delivery-log noise, and secret rotation (delete + register fresh). It implicitly positions this against register_webhook for the rotation use case, offering clear decision guidance. Additionally, it distinguishes auth paths (registrant's token vs cross-owner with webhooks capability) which clarifies authorization context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Maxlumiere/bot-relay-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server