manage_whatsapp_web_form_links
Manage web form links: one link per chat, bound to the published version of a form. Actions: create (a link without sending it: the token and url are returned once), list (the links of a form, by state: created, sent, opened, started, submitted, expired, revoked), get, revoke, renew (move the expiry forward from now), chat (the web forms sent in one chat, with their answers). revoke answers a preview and a confirmToken first. To send a form as a message, use send_whatsapp_web_form. 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": "manage_whatsapp_web_form_links"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | list: created until this day, YYYY-MM-DD (UTC) | |
| chat | No | create: the chat the link is for; list: only this chat; chat: the chat to read | |
| from | No | list: created from this day, YYYY-MM-DD (UTC) | |
| page | No | Page, from 0 | |
| size | No | Rows per page (default 25, max 100) | |
| phone | No | create: the phone number the link is for; list: only this phone | |
| action | Yes | What to do | |
| device | No | create: number the link is for (needed with several numbers); list: only this number; chat: the number of the chat | |
| formId | No | create, list: the web form | |
| linkId | No | get, revoke, renew: the link | |
| status | No | list: only links in these states | |
| contact | No | create: the contact (chat ID or phone) the link is for | |
| expiresIn | No | How long the link works: "48h", "7d", or seconds (1 hour to 90 days). The form's own setting when omitted | |
| reference | No | Your own reference for this link, kept with it and its submissions | |
| variables | No | Flat values the form reads as link.<key> (keys a-z, 0-9 and _, at most 2 KB in all), e.g. { "order_id": "A-1029" } | |
| callbackUrl | No | https URL that receives the submission as well as the webhooks | |
| confirmToken | No | Token from the preview, sent back once the user approved the change | |
| idempotencyKey | No | Your unique key for this request, 6 to 36 characters (a UUID works). Reuse it when retrying: the API answers the form or link already created instead of a second one |