一键导入
whatsapp-ultimate
WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | whatsapp-ultimate |
| version | 3.7.0 |
| description | WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. |
| metadata | {"openclaw":{"emoji":"📱","requires":{"channels":["whatsapp"]}}} |
Everything you can do in WhatsApp, your AI agent can do too.
This skill documents all WhatsApp capabilities available through OpenClaw's native channel integration. No external Docker services, no CLI wrappers — just direct WhatsApp Web protocol via Baileys.
openclaw whatsapp login)| Category | Features |
|---|---|
| Messaging | Text, media, polls, stickers, voice notes, GIFs |
| Interactions | Reactions, replies/quotes, edit, unsend |
| Groups | Create, rename, icon, description, participants, admin, invite links |
| History | Full-text search, vCard contact extraction with phone numbers |
Total: 22 distinct actions
message action=send channel=whatsapp to="+34612345678" message="Hello!"
message action=send channel=whatsapp to="+34612345678" message="Check this out" filePath=/path/to/image.jpg
Supported: JPG, PNG, GIF, MP4, PDF, DOC, etc.
message action=poll channel=whatsapp to="+34612345678" pollQuestion="What time?" pollOption=["3pm", "4pm", "5pm"]
message action=sticker channel=whatsapp to="+34612345678" filePath=/path/to/sticker.webp
Must be WebP format, ideally 512x512.
message action=send channel=whatsapp to="+34612345678" filePath=/path/to/audio.ogg asVoice=true
Critical: Use OGG/Opus format for WhatsApp voice notes. MP3 may not play correctly.
message action=send channel=whatsapp to="+34612345678" filePath=/path/to/animation.mp4 gifPlayback=true
Convert GIF to MP4 first (WhatsApp requires this):
ffmpeg -i input.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4 -y
message action=react channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123" emoji="🚀"
message action=react channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123" remove=true
message action=reply channel=whatsapp to="34612345678@s.whatsapp.net" replyTo="QUOTED_MSG_ID" message="Replying to this!"
message action=edit channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123" message="Updated text"
message action=unsend channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123"
message action=group-create channel=whatsapp name="Project Team" participants=["+34612345678", "+34687654321"]
message action=renameGroup channel=whatsapp groupId="123456789@g.us" name="New Name"
message action=setGroupIcon channel=whatsapp groupId="123456789@g.us" filePath=/path/to/icon.jpg
message action=setGroupDescription channel=whatsapp groupJid="123456789@g.us" description="Team chat for Q1 project"
message action=addParticipant channel=whatsapp groupId="123456789@g.us" participant="+34612345678"
message action=removeParticipant channel=whatsapp groupId="123456789@g.us" participant="+34612345678"
message action=promoteParticipant channel=whatsapp groupJid="123456789@g.us" participants=["+34612345678"]
message action=demoteParticipant channel=whatsapp groupJid="123456789@g.us" participants=["+34612345678"]
message action=leaveGroup channel=whatsapp groupId="123456789@g.us"
message action=getInviteCode channel=whatsapp groupJid="123456789@g.us"
Returns: https://chat.whatsapp.com/XXXXX
message action=revokeInviteCode channel=whatsapp groupJid="123456789@g.us"
message action=getGroupInfo channel=whatsapp groupJid="123456789@g.us"
Returns: name, description, participants, admins, creation date.
WhatsApp uses JIDs (Jabber IDs) internally:
| Type | Format | Example |
|---|---|---|
| Individual | <number>@s.whatsapp.net | 34612345678@s.whatsapp.net |
| Group | <id>@g.us | 123456789012345678@g.us |
When using to= with phone numbers, OpenClaw auto-converts to JID format.
Always use OGG/Opus format:
ffmpeg -i input.wav -c:a libopus -b:a 64k output.ogg
Convert images to WebP stickers:
ffmpeg -i input.png -vf "scale=512:512:force_original_aspect_ratio=decrease,pad=512:512:(ow-iw)/2:(oh-ih)/2:color=0x00000000" output.webp
WhatsApp has anti-spam measures. Avoid:
To react/edit/unsend, you need the message ID. Incoming messages include this in the event payload. For your own sent messages, the send response includes the ID.
| Feature | whatsapp-ultimate | wacli | whatsapp-automation | gif-whatsapp |
|---|---|---|---|---|
| Native integration | ✅ | ❌ (CLI) | ❌ (Docker) | N/A |
| Send text | ✅ | ✅ | ❌ | ❌ |
| Send media | ✅ | ✅ | ❌ | ❌ |
| Polls | ✅ | ❌ | ❌ | ❌ |
| Stickers | ✅ | ❌ | ❌ | ❌ |
| Voice notes | ✅ | ❌ | ❌ | ❌ |
| GIFs | ✅ | ❌ | ❌ | ✅ |
| Reactions | ✅ | ❌ | ❌ | ❌ |
| Reply/Quote | ✅ | ❌ | ❌ | ❌ |
| Edit | ✅ | ❌ | ❌ | ❌ |
| Unsend | ✅ | ❌ | ❌ | ❌ |
| Group create | ✅ | ❌ | ❌ | ❌ |
| Group management | ✅ (full) | ❌ | ❌ | ❌ |
| Receive messages | ✅ | ✅ | ✅ | ❌ |
| Two-way chat | ✅ | ❌ | ❌ | ❌ |
| External deps | None | Go binary | Docker + WAHA | ffmpeg |
vcard field with names and phone numberscontactsArrayMessage support — multi-contact shares are now parsedtext_content for full-text search (e.g. search by phone number)raw_json now included in search results for contact-type messages, enabling vCard extraction from historical data@lid and @s.whatsapp.net JID formatsresolveChatJids() cross-references chats, contacts, and messages tables to discover all JID aliases for a given chat filterYour Agent
↓
OpenClaw message tool
↓
WhatsApp Channel Plugin
↓
Baileys (WhatsApp Web Protocol)
↓
WhatsApp Servers
No external services. No Docker. No CLI tools. Direct protocol integration.
MIT — Part of OpenClaw
Choose, run, rerun, or debug OpenClaw tests, CI checks, Docker E2E lanes, release validation, and the cheapest safe verification path.
Turn your AI into JARVIS. Voice, wit, and personality — the complete package. Humor cranked to maximum.
Your agent reads Outlook email all day. Drafts replies for you. Won't send a single one. Not even if you ask nicely.
Stop guessing what your AI costs. Tinker shows every token, every dollar, every context byte — in real time.
Structured command execution with security levels, color-coded output, and 4-line max summaries. Enforces transparency and visibility for all shell commands. Use when running any exec/shell commands to ensure consistent, auditable output.
WhatsApp contact sync, group management, and administrative tools via Baileys API. Use for: extracting all contacts from groups, creating groups, fetching group metadata, or any WhatsApp operation beyond basic messaging.