{"id":78789,"plugin_id":"plugin_asdk_app_6a26d97bd46081918642a70d07cf07d4","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-03T18:39:18.726Z","digest":"a0b67231edcba0b521906835316b6ba3923319e978a5924dc85629bebae082f1","against":null,"payload":{"description":"Label, assign, unassign, close or reopen many WhatsApp chats at once from a plain-English rule. Use when the user asks to close all resolved chats, label every chat that mentions a topic, move chats to another teammate, or tidy up chats in bulk.","included_files":[],"name":"bulk-chat-actions","skill_md_contents":"---\nname: bulk-chat-actions\ndescription: Label, assign, unassign, close or reopen many WhatsApp chats at once from a plain-English rule. Use when the user asks to close all resolved chats, label every chat that mentions a topic, move chats to another teammate, or tidy up chats in bulk.\n---\n\nUse this skill to apply one change to many chats safely. The rule is always previewed before anything changes.\n\n1. Restate the rule in one sentence: which chats it matches and what will happen to them. If the rule is vague, ask one question.\n2. Find the matching chats with `list_chats`. It filters by `closed`, `read`, `labels`, `responsible` (a teammate email), `whatsapp_account_id`, `group`, `name`, `phone` and creation date, 50 per page. It cannot filter by last activity or by message content. When the rule depends on either (\"no new message in 7 days\", \"mentions a refund\"), check each candidate with `chat_history` before including it. For a teammate move, get the teammate's email from `workspace_team`.\n3. Show a preview: how many chats match, a sample of up to 10 (contact, number, current labels, current owner) and the exact action. Say clearly that nothing has changed yet. If you could not check every candidate, say how many you checked.\n4. Ask the user to confirm. Do not proceed on silence or if the rule has changed since the preview.\n5. Apply the action chat by chat with `chat_set_label`, `chat_remove_label`, `chat_assign` (needs the teammate's email), `chat_unassign`, `chat_close` or `chat_open`. If a call fails, carry on with the rest and keep a list of failures. Each call returns only a status, so after the changes call `chat_details` on a sample of the changed chats to confirm the real state.\n6. Report how many succeeded, which failed and why, and how to undo it. Labels, assignment and open or closed state can be reversed with the matching tool.\n\nOnly change chats that were in the confirmed preview. For WhatsApp Business API chats use the matching `waba_` tools (for example `waba_chat_close`, `waba_chat_set_label`, `waba_chat_assign`). This skill never sends messages.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}