Wacli Pro
Send WhatsApp messages through wacli in a way that feels intentional, human, and context-aware.
Quick workflow
- Confirm the recipient, goal, and message constraints.
- If context matters, inspect recent chat history before drafting.
- Draft a message that sounds like the user, not like an assistant.
- Confirm the final text before sending.
- Send with
wacliand report exactly what was sent.
Command set
Use these commands directly:
wacli doctor
wacli auth
wacli sync --follow
wacli chats list --limit 20 --query "name or number"
wacli messages search "query" --limit 20 --chat <jid>
wacli history backfill --chat <jid> --requests 2 --count 50
wacli send text --to "+14155551212" --message "Hello! Running 10 minutes late."
wacli send file --to "+14155551212" --file /path/file.pdf --caption "Here it is"
Use --json when parsing output.
Drafting rules
Write like a competent human using their own WhatsApp, not like support automation.
- Prefer short natural sentences.
- Match the relationship and context, for example friend, colleague, family, vendor, recruiter.
- Keep openings simple:
Hey,Hi, the person's name, or no greeting when the thread already has context. - Use specific details instead of generic filler.
- Make requests clear and easy to answer.
- Keep warmth subtle. One emoji is fine when it genuinely fits. Zero is usually better for work messages.
- Never mention being an AI unless the user explicitly wants that.
- Never send templated phrasing like
I hope this message finds you wellunless the user asks for formal style.
Avoid these failure modes:
- Over-explaining
- Corporate boilerplate
- Long bullet-heavy messages in casual chats
- Fake enthusiasm
- Obvious AI phrases like
Certainly,Kindly note,As discussed,Please do the needful
Tone calibration
Choose the lightest tone that still achieves the goal.
Casual
Use for friends, family, and familiar contacts.
Pattern:
- short opener
- one clear point
- optional quick follow-up question
Example:
Hey, are you free for a quick call tomorrow evening? Need your help with one thing.
Professional and warm
Use for coworkers, clients, recruiters, and semi-formal contacts.
Pattern:
- direct context
- clear request or update
- polite close only if needed
Example:
Hi Ananya, sharing the updated deck here. If it works for you, please review slides 7 to 11 when you get a chance.
Firm and concise
Use for nudges, payment follow-ups, scheduling, and boundary-setting.
Pattern:
- reference prior context
- state the ask plainly
- include the next step or deadline
Example:
Hi, following up on the invoice from 12 April. Please let me know if you need anything from my side, otherwise I’d appreciate the payment this week.
Context-first messaging
Before drafting a reply in an existing conversation, search or backfill first when any of these are true:
- the user says
reply,follow up,answer them, orcontinue the chat - the relationship or prior promise matters
- dates, prices, attachments, or commitments may already exist in the thread
- the user asks you to sound natural or like them
Suggested sequence:
wacli chats list --query "name or number" --jsonwacli messages search "recent keyword" --chat <jid> --limit 20 --jsonwacli history backfill --chat <jid> --requests 2 --count 50- Draft from the actual context, not assumptions.
Confirmation policy
Require explicit confirmation before sending.
Confirm these items in one compact line when possible:
- recipient
- final message text
- attachment, if any
If the user already provided exact recipient and exact text and clearly asked to send it now, send it without a second stylistic review, but still restate what was sent afterward.
Safety and privacy
- Do not use
waclifor the user’s direct chat with OpenClaw. - Do not guess recipients.
- If multiple matching chats exist, ask which one.
- If the requested message could be sensitive, high-impact, or relationship-damaging, offer a draft first.
- Keep personal data exposure to the minimum needed for the send.
Troubleshooting
Run wacli doctor first.
If authenticated but not connected:
- run
wacli sync --follow - verify the phone is online
- retry search or send after connection is restored
If chat lookup is weak:
- search by number instead of name
- run backfill for that chat
- use narrower keywords and date windows
References
Read these only when needed:
references/message-patterns.mdfor reusable message shapes and examplesreferences/history-workflow.mdfor context gathering before replying
