Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Xpersona Agent
WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. Skill: Whatsapp Ultimate Owner: globalcaos Summary: WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. Tags: latest:3.5.1 Version history: v3.5.1 | 2026-02-26T13:54:06.706Z | user Added ackMessage: gateway-level instant message acknowledgment for visual cue in WhatsApp Web v3.5.0 | 2026-02-26T13:53:12.267Z | auto Big change: Documentation rewrit
clawhub skill install kn7623hrcwt6rg73a67xw3wyx580asdw:whatsapp-ultimateOverall rank
#62
Adoption
2.6K downloads
Trust
Unknown
Freshness
Feb 28, 2026
Freshness
Last checked Feb 28, 2026
Best For
Whatsapp Ultimate is best for general automation workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, CLAWHUB, runtime-metrics, public facts pack
Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.
Overview
WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. Skill: Whatsapp Ultimate Owner: globalcaos Summary: WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. Tags: latest:3.5.1 Version history: v3.5.1 | 2026-02-26T13:54:06.706Z | user Added ackMessage: gateway-level instant message acknowledgment for visual cue in WhatsApp Web v3.5.0 | 2026-02-26T13:53:12.267Z | auto Big change: Documentation rewrit Capability contract not published. No trust telemetry is available yet. 2.6K downloads reported by the source. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 28, 2026
Vendor
Clawhub
Artifacts
0
Benchmarks
0
Last release
3.5.1
Install & run
clawhub skill install kn7623hrcwt6rg73a67xw3wyx580asdw:whatsapp-ultimateSetup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.
Public facts
Vendor
Clawhub
Protocol compatibility
OpenClaw
Latest release
3.5.1
Adoption signal
2.6K downloads
Handshake status
UNKNOWN
Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.
Captured outputs
Extracted files
3
Examples
6
Snippets
0
Languages
Unknown
text
message action=send channel=whatsapp to="+34612345678" message="Hello!"
text
message action=send channel=whatsapp to="+34612345678" message="Check this out" filePath=/path/to/image.jpg
text
message action=poll channel=whatsapp to="+34612345678" pollQuestion="What time?" pollOption=["3pm", "4pm", "5pm"]
text
message action=sticker channel=whatsapp to="+34612345678" filePath=/path/to/sticker.webp
text
message action=send channel=whatsapp to="+34612345678" filePath=/path/to/audio.ogg asVoice=true
text
message action=send channel=whatsapp to="+34612345678" filePath=/path/to/animation.mp4 gifPlayback=true
SKILL.md
---
name: whatsapp-ultimate
version: 3.5.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"]
---
# WhatsApp Ultimate
**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.
---
## Prerequisites
- OpenClaw with WhatsApp channel configured
- WhatsApp account linked via QR code (`openclaw whatsapp login`)
---
## Capabilities Overview
| 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 |
**Total: 22 distinct actions**
---
## Messaging
### Send Text
```
message action=send channel=whatsapp to="+34612345678" message="Hello!"
```
### Send Media (Image/Video/Document)
```
message action=send channel=whatsapp to="+34612345678" message="Check this out" filePath=/path/to/image.jpg
```
Supported: JPG, PNG, GIF, MP4, PDF, DOC, etc.
### Send Poll
```
message action=poll channel=whatsapp to="+34612345678" pollQuestion="What time?" pollOption=["3pm", "4pm", "5pm"]
```
### Send Sticker
```
message action=sticker channel=whatsapp to="+34612345678" filePath=/path/to/sticker.webp
```
Must be WebP format, ideally 512x512.
### Send Voice Note
```
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.
### Send GIF
```
message action=send channel=whatsapp to="+34612345678" filePath=/path/to/animation.mp4 gifPlayback=true
```
Convert GIF to MP4 first (WhatsApp requires this):
```bash
ffmpeg -i input.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4 -y
```
---
## Interactions
### Add Reaction
```
message action=react channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123" emoji="🚀"
```
### Remove Reaction
```
message action=react channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123" remove=true
```
### Reply/Quote Message
```
message action=reply channel=whatsapp to="34612345678@s.whatsapp.net" replyTo="QUOTED_MSG_ID" message="Replying to this!"
```
### Edit Message (Own Messages Only)
```
message action=edit channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123" message="Updated text"
```
### Unsend/Delete Message
```
message action=unsend channel=whatsapp chatJid="34612345678@s.whatsapp.net" messageId="ABC123"
```
---
## Group Management
### Create Group
```
message action=group-create channel=whatsapp name="Project Team" participants=["+34_meta.json
{
"ownerId": "kn7623hrcwt6rg73a67xw3wyx580asdw",
"slug": "whatsapp-ultimate",
"version": "3.5.1",
"publishedAt": 1772114046706
}description.md
**WhatsApp Ultimate**
🔹 **Model Identification:** Every message shows the active model and auth mode — `🤖(claude-opus-4-6|sub)` or `🤖(gpt-4o|api)`. Know instantly if you're on a fallback or burning API credits.
🔹 **Complete Message History:** Captures ALL messages including self-chat inbound that standard Baileys misses. Full bidirectional logging for your command channel.
🔹 **Template Variables:** Customize your prefix with `{model}`, `{authMode}`, `{provider}`, `{think}`, and more. Full control over what shows in every message.
🔹 **Security Gating:** 3-rule allowlist — authorized users, authorized chats, trigger prefix.
🔹 **Full History Sync:** Backfill all messages on reconnect with `syncFullHistory: true`.
🔹 **Searchable Archive:** SQLite-backed full-text search across all chats, senders, and date ranges.
🚀 **Install:** `clawhub install whatsapp-ultimate` then run the patch scripts to enhance your OpenClaw instance.Editorial read
Docs source
CLAWHUB
Editorial quality
ready
WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. Skill: Whatsapp Ultimate Owner: globalcaos Summary: WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person. Tags: latest:3.5.1 Version history: v3.5.1 | 2026-02-26T13:54:06.706Z | user Added ackMessage: gateway-level instant message acknowledgment for visual cue in WhatsApp Web v3.5.0 | 2026-02-26T13:53:12.267Z | auto Big change: Documentation rewrit
Skill: Whatsapp Ultimate
Owner: globalcaos
Summary: WhatsApp skill with a 3-rule security gate. Your agent speaks only when spoken to — in the right chat, by the right person.
Tags: latest:3.5.1
Version history:
v3.5.1 | 2026-02-26T13:54:06.706Z | user
Added ackMessage: gateway-level instant message acknowledgment for visual cue in WhatsApp Web
v3.5.0 | 2026-02-26T13:53:12.267Z | auto
Big change: Documentation rewritten for clarity and completeness. Many new capabilities detailed.
ackMessage—gateway-level instant text acknowledgment on inbound messages; faster feedback than bot replies and more visible than emoji reactionsv3.4.0 | 2026-02-22T23:36:07.245Z | user
Chat search now resolves LID/JID aliases across both @lid and @s.whatsapp.net formats
v3.3.0 | 2026-02-21T00:06:39.951Z | user
Security scan response: patches now clearly marked as optional with review instructions, file modification table, revert command. Fixed 12→13 skill count. Replied to @Cranbaerry comment about whatsapp_history access.
v3.2.0 | 2026-02-20T23:11:11.147Z | user
Security scan fixes: declared all required bins (npx, tsx, sed, python3), added patches block documenting which source files are modified and how, expanded security notes explaining patch mechanism, credential usage, and network scope.
v3.1.0 | 2026-02-20T23:07:12.248Z | user
New marketing copy: humor-driven security gate pitch, won't-pattern hook, pairing section with fork conversion link.
v3.0.0 | 2026-02-20T22:56:05.774Z | user
Merged whatsapp-tools: contact sync, group creation, admin operations. Added metadata.openclaw with required bins, channels, security notes. Now truly ultimate — messaging + administration in one skill.
v2.2.0 | 2026-02-20T10:19:40.729Z | user
Added model + auth mode prefix template ({model}, {authMode}). Every message now shows which model and whether subscription or API is active.
v2.1.0 | 2026-02-20T10:03:36.464Z | user
Fixed: Self-chat inbound messages now captured in history DB. Added install script to patch OpenClaw core. Added syncFullHistory config for full backfill on reconnect.
v2.0.3 | 2026-02-18T10:50:08.427Z | user
v2.0.3: Clarified Rule 1 — agent sees all chats but only responds in allowed groups.
v2.0.2 | 2026-02-18T10:46:09.770Z | user
v2.0.2: Expanded 3-rule gate explanation with plain-language breakdown of each rule and real-world examples.
v2.0.1 | 2026-02-18T10:41:31.992Z | user
v2.0.1: Complete marketing rewrite — audience-focused pitch, cross-links to 10 companion skills, competitive comparison, quick-start config, voice pipeline docs, 3-rule gate explanation.
v2.0.0 | 2026-02-18T10:35:08.650Z | user
v2.0: Strict 3-rule group gate (no bypasses). DM prefix gate. Audio preflight passthrough for voice note transcription. responsePrefix config. triggerPrefix for all conversations.
v1.9.0 | 2026-02-16T19:46:26.145Z | user
Thinking heartbeat: alternating 🤔↔🧐 reactions (~1s interval) as processing watchdog. messagePrefix documentation.
v1.8.2 | 2026-02-16T07:58:38.697Z | user
Add messagePrefix documentation — use emoji (🤖) for instant agent identification in chats
v1.8.1 | 2026-02-14T22:39:27.827Z | user
Fix: reliable thinking reaction cleanup — 🤔 now properly removed on reply delivery with safety net after dispatch. No more stuck reactions.
v1.8.0 | 2026-02-14T22:21:42.687Z | user
🤔 Thinking Reaction: visible progress indicator for groups (workaround for WhatsApp broken typing indicators on linked devices). Owner voice/media messages bypass triggerPrefix in groups. markOnlineOnConnect + available presence before composing.
v1.7.1 | 2026-02-14T20:34:45.380Z | user
Add clean DM behavior guide: verboseDefault off config, voice transcript in replies
v1.7.0 | 2026-02-14T20:25:06.040Z | user
Voice note transcription with triggerPrefix matching, metallic voice replies (sherpa-onnx), echo prevention for bot-sent voice notes, audio preflight before prefix check
v1.6.1 | 2026-02-14T19:15:07.573Z | user
Smart offline recovery: recovered messages tagged for review-before-action instead of blind execution
v1.6.0 | 2026-02-14T19:11:27.092Z | user
Offline message recovery: gateway automatically processes messages received during downtime (6h window). Self-chat fix: messages from primary phone now reach the agent reliably.
v1.5.2 | 2026-02-13T22:12:32.373Z | user
Fix repository/homepage links to fork
v1.5.1 | 2026-02-13T22:09:25.074Z | user
SEO-optimized description and keywords for better discoverability
v1.5.0 | 2026-02-13T15:49:51.665Z | user
v1.5.0: Full history resync via re-link — pull months/years of old messages into SQLite. Includes whatsapp-resync plugin with automatic backup, restore endpoint, and INITIAL_BOOTSTRAP sync capture. Tested: 3.2K→17.6K messages, 3+ years of history recovered.
v1.3.0 | 2026-02-12T15:15:07.687Z | user
SEO-optimized description, 12 tags for discoverability, expanded comparison table, use-case triggers, getGroupInfo tips
v1.2.1 | 2026-02-11T06:20:27.877Z | user
v1.2.1: Improved message history docs, added comparison table rows for history/search/import, added daily summary cron pattern, cleaned up dead hook-based archiver.
v1.1.2 | 2026-02-08T23:34:55.919Z | user
Added credits, fixed repository link
v1.1.1 | 2026-02-08T05:10:38.632Z | user
Fix: replaced identifiable example names with generic ones
v1.2.0 | 2026-02-06T21:02:55.646Z | user
v1.2.0: Added persistent message history with SQLite + FTS5 full-text search. Import WhatsApp exports, search conversations, recall what was said. Repository link added.
v1.1.0 | 2026-02-06T20:02:30.416Z | user
Added access control docs and troubleshooting for DM sender attribution fix
v1.0.1 | 2026-02-06T19:35:18.033Z | user
Bug fix: senderE164 resolution for outbound DMs
v1.0.0 | 2026-02-06T11:44:03.725Z | user
Initial release: 22 actions - full messaging, interactions, group management. Native Baileys integration.
Archive index:
Archive v3.5.1: 7 files, 11751 bytes
Files: description.md (972b), scripts/apply-history-fix.sh (4212b), scripts/apply-model-prefix.sh (5313b), scripts/wa-create-group.ts (2392b), scripts/wa-fetch-contacts.ts (5978b), SKILL.md (8317b), _meta.json (136b)
File v3.5.1:SKILL.md
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 |
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
Send an instant text message when an inbound message is received — fires at gateway level before model inference:
{
"channels": {
"whatsapp": {
"ackMessage": {
"text": "⚡",
"direct": true,
"group": "never"
}
}
}
}
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| text | string | "" | Message to send (empty = disabled) |
| direct | boolean | true | Send in direct chats |
| group | "always" / "mentions" / "never" | "never" | Group behavior |
This is different from ackReaction (which sends an emoji reaction). ackMessage sends a standalone message bubble — visible in WhatsApp Web even when reaction flips aren't.
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 |
ackMessage — gateway-level instant message acknowledgment. Sends a configurable text message (e.g. ⚡) the moment an inbound message arrives, before any model inference. Fires at the same speed as ackReaction (emoji flip). Useful as a visual cue to distinguish your messages from bot replies in WhatsApp Web where reaction flips aren't visible.@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
File v3.5.1:_meta.json
{ "ownerId": "kn7623hrcwt6rg73a67xw3wyx580asdw", "slug": "whatsapp-ultimate", "version": "3.5.1", "publishedAt": 1772114046706 }
File v3.5.1:description.md
WhatsApp Ultimate
🔹 Model Identification: Every message shows the active model and auth mode — 🤖(claude-opus-4-6|sub) or 🤖(gpt-4o|api). Know instantly if you're on a fallback or burning API credits.
🔹 Complete Message History: Captures ALL messages including self-chat inbound that standard Baileys misses. Full bidirectional logging for your command channel.
🔹 Template Variables: Customize your prefix with {model}, {authMode}, {provider}, {think}, and more. Full control over what shows in every message.
🔹 Security Gating: 3-rule allowlist — authorized users, authorized chats, trigger prefix.
🔹 Full History Sync: Backfill all messages on reconnect with syncFullHistory: true.
🔹 Searchable Archive: SQLite-backed full-text search across all chats, senders, and date ranges.
🚀 Install: clawhub install whatsapp-ultimate then run the patch scripts to enhance your OpenClaw instance.
Archive v3.5.0: 7 files, 11751 bytes
Files: description.md (972b), scripts/apply-history-fix.sh (4212b), scripts/apply-model-prefix.sh (5313b), scripts/wa-create-group.ts (2392b), scripts/wa-fetch-contacts.ts (5978b), SKILL.md (8317b), _meta.json (136b)
File v3.5.0:SKILL.md
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 |
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
Send an instant text message when an inbound message is received — fires at gateway level before model inference:
{
"channels": {
"whatsapp": {
"ackMessage": {
"text": "⚡",
"direct": true,
"group": "never"
}
}
}
}
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| text | string | "" | Message to send (empty = disabled) |
| direct | boolean | true | Send in direct chats |
| group | "always" / "mentions" / "never" | "never" | Group behavior |
This is different from ackReaction (which sends an emoji reaction). ackMessage sends a standalone message bubble — visible in WhatsApp Web even when reaction flips aren't.
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 |
ackMessage — gateway-level instant message acknowledgment. Sends a configurable text message (e.g. ⚡) the moment an inbound message arrives, before any model inference. Fires at the same speed as ackReaction (emoji flip). Useful as a visual cue to distinguish your messages from bot replies in WhatsApp Web where reaction flips aren't visible.@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
File v3.5.0:_meta.json
{ "ownerId": "kn7623hrcwt6rg73a67xw3wyx580asdw", "slug": "whatsapp-ultimate", "version": "3.5.0", "publishedAt": 1772113992267 }
File v3.5.0:description.md
WhatsApp Ultimate
🔹 Model Identification: Every message shows the active model and auth mode — 🤖(claude-opus-4-6|sub) or 🤖(gpt-4o|api). Know instantly if you're on a fallback or burning API credits.
🔹 Complete Message History: Captures ALL messages including self-chat inbound that standard Baileys misses. Full bidirectional logging for your command channel.
🔹 Template Variables: Customize your prefix with {model}, {authMode}, {provider}, {think}, and more. Full control over what shows in every message.
🔹 Security Gating: 3-rule allowlist — authorized users, authorized chats, trigger prefix.
🔹 Full History Sync: Backfill all messages on reconnect with syncFullHistory: true.
🔹 Searchable Archive: SQLite-backed full-text search across all chats, senders, and date ranges.
🚀 Install: clawhub install whatsapp-ultimate then run the patch scripts to enhance your OpenClaw instance.
Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.
Machine interfaces
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/snapshot"
curl -s "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/contract"
curl -s "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/trust"
Operational fit
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "CLAWHUB",
"generatedAt": "2026-04-17T05:14:01.434Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceUrl": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.6K downloads",
"href": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceUrl": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "3.5.1",
"href": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceUrl": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-26T13:54:06.706Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-globalcaos-whatsapp-ultimate/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "release",
"title": "Release 3.5.1",
"description": "Added ackMessage: gateway-level instant message acknowledgment for visual cue in WhatsApp Web",
"href": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceUrl": "https://clawhub.ai/globalcaos/whatsapp-ultimate",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-26T13:54:06.706Z",
"isPublic": true
}
]Sponsored
Ads related to Whatsapp Ultimate and adjacent AI workflows.