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
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_id | Yes | Webhook subscription ID to delete | |
| agent_token | No | Your agent token (from register_agent response). Optional here — also resolvable from RELAY_AGENT_TOKEN env or X-Agent-Token header. |