โ† All skills
Tencent SkillHub ยท Developer Tools

GOWA - WhatsApp Automation

Interact with WhatsApp via GOWA (Go WhatsApp Web Multi-Device) REST API for personal automation. Supports sending messages with ghost mentions (@everyone), images, documents, group management, and more. Always use REST mode (http://localhost:3000) for production.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Interact with WhatsApp via GOWA (Go WhatsApp Web Multi-Device) REST API for personal automation. Supports sending messages with ghost mentions (@everyone), images, documents, group management, and more. Always use REST mode (http://localhost:3000) for production.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, references/api-endpoints.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.4.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 20 sections Open source page

GOWA - WhatsApp Automation via REST API

Interact with WhatsApp through GOWA (Go WhatsApp Web Multi-Device) REST API for personal automation tasks.

Installation & Setup

GOWA is available at: https://github.com/aldinokemal/go-whatsapp-web-multidevice

Download

Go to the releases page and download the zip matching your OS and architecture. Release files are named: whatsapp_VERSION_OS_ARCH.zip Available platforms: linux (amd64/arm64/386), darwin (amd64/arm64), windows (amd64/386)

Run REST Server

./gowa rest The server starts on http://localhost:3000 by default.

Login (First Time)

Open http://localhost:3000 in a browser, scan the QR code with WhatsApp on your phone to link the device.

Production Setup

GOWA runs in REST mode: Base URL: http://localhost:3000 GOWA auto-connects to the device stored in the database โ€” no X-Device-Id header needed for single-device setups. โš ๏ธ Important: Use REST API (port 3000) only. Do NOT use MCP mode - all schedulers and automation depend on REST.

Ghost Mention (mention all without @)

curl -X POST http://localhost:3000/send/message \ -H "Content-Type: application/json" \ -d '{ "phone": "120363040656010581@g.us", "message": "Important announcement", "mentions": ["@everyone"] }'

Send Text Message

curl -X POST http://localhost:3000/send/message \ -H "Content-Type: application/json" \ -d '{"phone": "628123456789", "message": "Hello!"}'

Send Image

curl -X POST http://localhost:3000/send/image \ -F "phone=628xxx" \ -F "caption=Photo" \ -F "image=@/path/to/image.jpg"

Check Status

curl http://localhost:3000/app/status | jq .

Messages

Send Text with Ghost Mention: Endpoint: POST /send/message Body: {"phone": "group@g.us", "message": "text", "mentions": ["@everyone"]} @everyone mentions all members without showing @ in text โœ… Reply to Message: Body: {"phone": "...", "message": "...", "reply_message_id": "msg_id"} Disappearing Message: Body: {"phone": "...", "message": "...", "duration": 86400} (seconds) Forward Message: Body: {"phone": "...", "message": "...", "is_forwarded": true}

Media

Send Image: Endpoint: POST /send/image Form data: phone, caption, image (file), compress (bool) Send Document: Endpoint: POST /send/file Form data: phone, caption, file Send Video: Endpoint: POST /send/video Form data: phone, caption, video, compress (bool) Send Audio: Endpoint: POST /send/audio Form data: phone, audio Send Sticker: Endpoint: POST /send/sticker Form data: phone, sticker (auto-converts to WebP) Send Contact: Endpoint: POST /send/contact Body: {"phone": "...", "contact_name": "...", "contact_phone": "..."} Send Location: Endpoint: POST /send/location Body: {"phone": "...", "latitude": 0.0, "longitude": 0.0} Send Link: Endpoint: POST /send/link Body: {"phone": "...", "link": "...", "caption": "..."} Send Poll: Endpoint: POST /send/poll Body: {"phone": "...", "question": "...", "options": ["A", "B"]}

Connection & Status

Get Status: GET /app/status Returns: {"is_connected": true, "is_logged_in": true} Reconnect: GET /app/reconnect Logout: GET /app/logout Get QR Code (for login): GET /app/login Returns: PNG image (QR code to scan) Login with Pairing Code: GET /app/login-with-code?phone=628xxx

Groups

List My Groups: GET /user/my/groups Returns: {results: {data: [...]}} - groups array is at .results.data Example: curl ... | jq '.results.data[] | {Name, JID, Members: .Participants | length}' Max 500 groups (WhatsApp protocol limit) Get Group Info: GET /group/info?group_jid=xxx@g.us Create Group: POST /group Body: {"name": "Group Name", "participants": ["628xxx@s.whatsapp.net"]} Get Group Participants: GET /group/participants?group_jid=xxx@g.us Add Participant: POST /group/participants Body: {"group_jid": "...", "participants": ["628xxx@s.whatsapp.net"]} Remove Participant: POST /group/participants/remove Body: {"group_jid": "...", "participants": ["628xxx@s.whatsapp.net"]} Promote to Admin: POST /group/participants/promote Body: {"group_jid": "...", "participants": ["628xxx@s.whatsapp.net"]} Demote from Admin: POST /group/participants/demote Body: {"group_jid": "...", "participants": ["628xxx@s.whatsapp.net"]} Leave Group: POST /group/leave Body: {"group_jid": "..."} Set Group Photo: POST /group/photo Form data: group_jid, photo Set Group Name: POST /group/name Body: {"group_jid": "...", "name": "..."} Set Group Description: POST /group/topic Body: {"group_jid": "...", "topic": "..."} Get Invite Link: GET /group/invite-link?group_jid=xxx@g.us Join via Link: POST /group/join-with-link Body: {"link": "https://chat.whatsapp.com/..."}

Contacts & Chats

List Contacts: GET /user/my/contacts Get Chats: GET /chats Get User Info: GET /user/info?phone=628xxx Check if User Exists: GET /user/check?phone=628xxx

Message Operations

Revoke/Delete Message: POST /message/{message_id}/revoke React to Message: POST /message/{message_id}/reaction Body: {"emoji": "๐Ÿ‘"} Edit Message: POST /message/{message_id}/update Body: {"message": "edited text"} Mark as Read: POST /message/{message_id}/read Star Message: POST /message/{message_id}/star Download Media: GET /message/{message_id}/download

Phone Number Format

User JID: 628123456789@s.whatsapp.net Group JID: 120363040656010581@g.us Phone only: 628123456789 (without +)

Ghost Mention Feature

How it works: Use "mentions": ["@everyone"] in /send/message All group members get notification No @ symbol shown in message text (true ghost mention) Tested and confirmed working โœ… Example for schedulers: curl -s -X POST http://localhost:3000/send/message \ -H 'Content-Type: application/json' \ -d '{"phone": "120363040656010581@g.us", "message": "Reminder text", "mentions": ["@everyone"]}' | jq .

API Reference

Full OpenAPI 3.0 spec available at: OpenAPI: https://raw.githubusercontent.com/aldinokemal/go-whatsapp-web-multidevice/refs/heads/main/docs/openapi.yaml GitHub: https://github.com/aldinokemal/go-whatsapp-web-multidevice

Notes

Auto-compresses images and videos before sending Auto-converts images to WebP for stickers Max 500 groups can be retrieved (WhatsApp protocol limit) All media files can be sent as file upload or URL Supports disappearing messages with custom duration Multi-device support available via X-Device-Id header when running multiple devices Built by @aldinokemal: https://github.com/aldinokemal/go-whatsapp-web-multidevice

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
2 Docs
  • SKILL.md Primary doc
  • references/api-endpoints.md Docs