# Whatsapp

> WhatsApp Web

- Skill: `spike-faye-lei/whatsapp` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add spike-faye-lei/whatsapp`
- Raw SKILL.md: https://api.skillmd.com/api/skills/spike-faye-lei/whatsapp/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: spike-faye-lei (https://skillmd.com/u/spike-faye-lei)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/spike-faye-lei/whatsapp

---

# WhatsApp Web

## Overview
Messaging platform — L3 adapter accessing Meta's internal module system via `require('WAWeb*')`.

## Workflows

### List and read conversations
1. `getChats` → pick chat → `chatId`
2. `getMessages(chatId)` → messages with body, timestamp, type

### Find a specific chat
1. `searchChats(query)` → matching chats → `chatId`
2. `getChatById(chatId)` → detailed info (archived, pinned, muted, lastMessage)

### Send a message
1. `getChats` or `searchChats(query)` → `chatId`
2. `sendMessage(chatId, message)` → success + timestamp

### Delete a message
1. `getChats` or `searchChats(query)` → `chatId`
2. `getMessages(chatId)` → pick message → `messageId`
3. `deleteMessage(chatId, messageId)` → success

### Mark chat as read
1. `getChats` or `searchChats(query)` → `chatId`
2. `markAsRead(chatId, read: true)` → success

## Operations

| Operation | Intent | Key Input | Key Output | Notes |
|-----------|--------|-----------|------------|-------|
| getChats | list conversations | limit | id, name, isGroup, unreadCount | entry point |
| getMessages | read messages | chatId ← getChats | id, body, fromMe, timestamp, type | most recent N messages |
| getContacts | list contacts | limit | id, name, isMe | entry point |
| searchChats | find chats by name | query | id, name, isGroup | client-side filter |
| getChatById | chat detail | chatId ← getChats | archived, pinned, muted, lastMessage | |
| sendMessage | send text | chatId ← getChats, message | success, timestamp | write — internal module `sendTextMsgToChat` |
| deleteMessage | delete message | chatId ← getChats, messageId ← getMessages | success | write/caution — internal module `chat.deleteMessages()` |
| markAsRead | mark read/unread | chatId ← getChats, read | success | write |

## Quick Start

```bash
# List recent chats
openweb whatsapp exec getChats '{"limit": 10}'

# Read messages from a chat
openweb whatsapp exec getMessages '{"chatId": "1234567890@c.us", "limit": 20}'

# Search for a chat
openweb whatsapp exec searchChats '{"query": "John"}'

# Get chat details
openweb whatsapp exec getChatById '{"chatId": "1234567890@c.us"}'

# Delete a message (reverse of sendMessage)
openweb whatsapp exec deleteMessage '{"chatId": "1234567890@c.us", "messageId": "true_1234567890@c.us_ABCDEF"}'

# List contacts
openweb whatsapp exec getContacts '{"limit": 50}'
```

