Skip to main content
Glama

WhatsApp Business API by Wassenger

delete_whatsapp_web_form_submissions

Destructive

Delete web form submissions, or cancel a booking: delete (one), delete_many (up to 100 ids), forget_contact (every submission of one contact, the contact fields the forms wrote, and the contact's WhatsApp Forms responses, for an erasure request), or cancel_booking (the appointment a submission booked: the time is offered again, the answers stay; with message, the customer is told in the chat). The first call reports what would be erased or cancelled and a confirmToken; call again with the token once the user approved. Only the account owner's key or an admin can delete; a booking can also be cancelled by the agent who sent its link. For WhatsApp Forms (Meta WhatsApp Flows, native in-chat forms on WhatsApp Business API numbers) use send_whatsapp_flow and list_whatsapp_flows instead.

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": {
      "action": "<action>"
    },
    "name": "delete_whatsapp_web_form_submissions"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsNodelete_many: the submissions
actionYesWhat to do
deviceNoforget_contact: only on these numbers
formIdNoforget_contact: only this web form
contactNoforget_contact: chat ID or phone of the contact
messageNocancel_booking: what to tell the customer in the chat; leave out to cancel without telling them
allFormsNoforget_contact: across every web form
confirmTokenNoToken from the preview, sent back once the user approved the change
submissionIdNodelete, cancel_booking: the submission

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructive=true, idempotent=false, but the description goes well beyond them: it discloses the preview-then-confirm flow and confirmToken, precisely what forget_contact destroys (submissions, form-written contact fields, WhatsApp Forms responses), what cancel_booking does and does not remove, and how the optional message notifies the customer. Authorization constraints (owner key or admin, or the agent who sent the booking link) are additional context the annotations do not carry.

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?

It is one dense paragraph, but the action enumeration is front-loaded and every clause carries information an agent needs (per-action effects, confirm flow, permissions, sibling redirect). The permission sentence and the closing redirect could be broken out for scanability, costing a point on structure only.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by explaining what the first call returns (a report of what would be erased/cancelled plus a confirmToken). For a destructive, multi-action, 9-parameter tool, nothing material an agent needs to invoke it safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by tying each action to its parameters and explaining that omitting 'message' cancels silently and that forget_contact can be scoped by form/device/allForms. It does not explain id format or the confirmToken's lifetime/expiry, which keeps it off a 5.

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?

The description opens with a specific verb and resource ('Delete web form submissions') and then enumerates each of the four actions with concrete scope (delete one, delete_many up to 100 ids, forget_contact across a contact's records, cancel_booking). It explicitly redirects WhatsApp Forms (native Flows) work to send_whatsapp_flow and list_whatsapp_flows, so the agent can separate this tool from its siblings without opening the schema.

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?

It states exactly when each action applies, including the erasure-request case for forget_contact and the 'time is offered again, answers stay' case for cancel_booking, and it names the alternative tools for WhatsApp Forms. It also gives the two-step invocation rule (preview first, then resend with confirmToken once the user approved) and the permission conditions.

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.