Design & media

WhatsApp Voice Note

Try it

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...

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_KEY is set. Model is picked per language: most languages use eleven_multilingual_v2; Hebrew text auto-switches to eleven_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-only is 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

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...

34 installs

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.

1 installs3 stars

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...

42 installs2 stars

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!

1 installs