Source and send relevant reaction GIFs in WhatsApp chats using safe filters and deterministic ranking. Use when the user asks for a GIF/meme/reaction, or whe...
Design & media
WhatsApp Voice Note
Try itSend real WhatsApp VOICE NOTES (not audio files) from an OpenClaw agent. Use when the user asks the agent to 'send a voice message/note', reply by voice, or...
What it does
Send real WhatsApp VOICE NOTES (not audio files) from an OpenClaw agent. Use when the user asks the agent to 'send a voice message/note', reply by voice, or read something out loud to a chat. Pipeline: ElevenLabs (natural, multilingual incl. Hebrew) or macOS `say` (free fallback) -> ffmpeg opus/ogg -> `openclaw message send --media`. Requires ffmpeg; ElevenLabs key optional but strongly recommended for non-English.
The skill document
WhatsApp Voice Note
Turns text into a real WhatsApp voice note (the kind with the waveform, ptt:true) and
sends it through your OpenClaw WhatsApp channel. The plugin auto-sends any audio attachment
as a voice note; this skill hands it clean opus/ogg for best quality.
Usage
./voice.sh --target +15555550100 --text "Hi, on my way."
./voice.sh --target +15555550100 --text-file /path/to/note.txt
./voice.sh --text "test" --out-only /tmp/note.ogg # build the file, don't send
./voice.sh --target +15555550100 --text "hello" --dry-run
Engines (auto-selected)
- elevenlabs — natural, multilingual. Used automatically when
ELEVENLABS_API_KEYis set. Model is picked per language: most languages useeleven_multilingual_v2; Hebrew text auto-switches toeleven_v3(the only model that speaks it properly — learned the hard way). - say — macOS built-in, free, robotic. Fallback when no key. Force either with
--engine elevenlabs|say.
Config (.env next to the script, or env vars)
ELEVENLABS_API_KEY=... # enables the good engine
ELEVENLABS_VOICE_ID=... # default: Daniel (male multilingual)
ELEVENLABS_MODEL=... # override auto model pick (e.g. eleven_flash_v2_5 = ~half credits)
Hard-won notes
- WhatsApp voice notes must be opus in ogg, mono — ffmpeg flags in the script are the ones that survive WhatsApp's transcoder without artifacts.
- Put a policy line in your agent's rules about WHO may receive voice notes. An agent that can voice-message anyone in your contacts is a liability, not a feature.
--out-onlyis great for piping into other channels (Telegram, casting to a speaker).
From the Build Your Own Chief starter kit — skills, configs, and gotchas from a real 24/7 household agent: https://chief.natalicot.com/kit/?utm=clawhub
Related skills
Send third-party WhatsApp messages or sync/search WhatsApp history via wacli, not normal active chats.
Scheduled WhatsApp briefing for content founders. Runs every Monday at 8 AM. Reads your content calendar file and sends a weekly brief. Covers what is due, what shipped last week, and one suggested focus area.
FREE Local Voice and TTS for OpenClaw agents, with spoken replies, optional push-to-talk input, and a local Base wallet for x402 paid calls. Supports local, hosted, and hybrid voice modes with spend caps and safe wallet controls.
Background voice journaling with Soniox realtime STT for OpenClaw. Requires SONIOX_API_KEY. Get/create your Soniox API key at https://soniox.com/speech-to-te...
Send and receive WhatsApp messages (Web + Business API), SMS, and voice call records through 2Chat. Connects OpenClaw to the official 2Chat remote MCP server so the agent can message contacts, manage WABA templates, read conversations and groups, publish WhatsApp statuses, browse catalogs, and more!