← WhatSync for WhatsAppCONTENT HISTORY

Update to WhatSync for WhatsApp

Snapshot Nov 7, 2026 · 13:01 UTC · version 1.1.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save WhatSync for WhatsApp and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Send a WhatsApp message, photo or document to a person or group, forward a message, or edit or delete a sent message, after the user confirms the exact action.",
  "included_files": [],
  "name": "send-whatsapp-message",
  "skill_md_contents": "---\nname: send-whatsapp-message\ndescription: Send a WhatsApp message, photo or document to a person or group, forward a message, or edit or delete a sent message, after the user confirms the exact action.\n---\n\n# Send a WhatsApp message\n\nSending reaches real people and cannot reliably be recalled. Confirm before every send, forward, edit, deletion or group change.\n\n## Find the recipient\n\n- Replying in an existing chat: pass its exact `conversationId` from `list_conversations`, `search_messages` or `list_unanswered_conversations`. This picks the right number for you.\n- Someone named by the user: find them with `list_contacts`. If several people match, ask which one.\n- A number the user typed: send it with the country code (for example +44 7700 900123). If the country is unclear, ask. Do not guess a country code.\n- A group: find it with `list_groups` and send with `send_group_message`, passing its exact group ID as `jid`. `send_message` is for one person only. All group members may receive the message, so show the group name when confirming. If no group tools are available, offer to draft the text for the user to post.\n\nConfirm which account sends. Use `list_connections` if it is unclear whether the personal (QR) number or the Business number is ready. For `send_message`, pass `channel` when both are connected, and `fromNumber` when the user picks one of several linked numbers. Never switch accounts after a failure without asking.\n\n## Confirm, then send once\n\n1. Show the sending account, the recipient (name and number) and the exact text. Wait for a clear yes.\n2. Call the tool once with a new `idempotencyKey` (8 to 128 letters, digits, dots, colons, underscores or hyphens). Never reuse a key with different content or a different recipient. Do not retry an uncertain result on your own; if a retry is clearly safe, keep the original key and exactly the same details.\n3. One yes covers one message. For several people, confirm each message separately. Never loop through a list.\n\n## Read the result\n\n- Accepted is not delivered. For `send_message`, check an unclear result with `get_send_status`, passing the returned `intent_id` as `intentId`. Group sends, photo and document sends, forwards, edits and deletions return an `operation_id`; check those with `get_operation` (`operationId`). Completed does not prove delivery. If there is no ID, report the uncertainty; never resend to be safe.\n- Daily limit reached: tell the user the limit and that it resets at midnight UTC (give that in their local time), then stop.\n- Too many requests: wait for the returned `retry_after` before the next send. Do not loop, change keys or switch accounts to get around it.\n- Recipient not on WhatsApp: tell the user and ask them to check the number.\n- WhatsApp not ready: stop sending and tell the user which connection is not ready. Say \"not sent\" only when the tool rejected the send before trying; otherwise say the outcome is uncertain. Saved messages can usually still be read.\n- Access ended: tell the user once, give the dashboard link from the result if there is one, and stop.\n\n## Photos, documents and existing messages (personal number only)\n\nUse these only when the tools are available:\n\n- `send_image`: `phoneNumber` (country code, digits only), a public `https` `url`, optional `caption`.\n- `send_document`: the same, plus a required `fileName` and optional `mimeType`.\n- `forward_message`: the exact `sourceMessageId` and the destination `phoneNumber`. Confirm what is being forwarded and to whom.\n- `edit_message`: the exact `targetMessageId` and the new `text`.\n- `delete_message`: the exact `targetMessageId`; confirm it deletes the message for everyone.\n\nRead the exact message first. Forwarding, editing and deleting work only on saved one-to-one messages on the personal number, and editing and deleting only on messages the user sent. Do not promise an edit will succeed. Confirm the exact file and caption before sending, and never upload a private file somewhere public just to get a link.\n\n## Business numbers\n\nFor a Business number, call `check_recipient_send_options` for the exact recipient. A free-form reply needs a message from that customer within the last 24 hours. Otherwise use an approved template: find it with `list_business_templates` (`status: \"APPROVED\"`) and check its name and language with `get_business_template`. Confirm that the recipient agreed to receive messages and the exact filled-in text, then send with `templateName`, `templateLanguage`, `templateParameters` in order and `recipientOptInConfirmed: true`, without `text`. Templates with media headers or buttons that need a value are not supported. Use `expectedPreview` only when copied from a previous WhatSync result.\n"
}

SHA-256 of public snapshot: 79ffb20df554f25a48aa4b7edf972e1cc77244e53ab5fc65cfc6086da0742b3b