WhatsApp Validate
Verified@MarcosRippel
npx machina-cli add skill @MarcosRippel/whatsapp-validate --openclawWhatsApp Validate Skill
Validate whether phone numbers have been seen by the connected WhatsApp account.
Usage
exec({ cmd: "node <skill_dir>/scripts/validate.js COMMAND [ARGS]" })
Commands
Check Single Number
exec({ cmd: "node <skill_dir>/scripts/validate.js check \"5511999999999\"" })
Batch Check
exec({ cmd: "node <skill_dir>/scripts/validate.js batch \"5511999999999,5511888888888\"" })
List Known Numbers
exec({ cmd: "node <skill_dir>/scripts/validate.js list 50" })
Note
This skill checks the local cache only. A number not found may still have WhatsApp — it simply hasn't interacted with the bot yet.
Overview
This skill checks whether a phone number has been seen by the connected WhatsApp account using the local Baileys session cache. It supports single checks, batch validation, and listing known numbers to help you target messages to contacts who have already interacted with the bot. Note that not finding a number in cache does not prove it’s inactive on WhatsApp— it may simply not have interacted yet.
How This Skill Works
The tool queries the local Baileys session cache via the validate.js script. It supports commands check, batch, and list to return presence information based on the current session cache. Results reflect the current cache state only, not the remote WhatsApp status.
When to Use It
- Verifying a new lead before attempting a message to ensure the bot has seen the number
- Pre-validating a batch of contacts before a campaign to target known interactors
- Auditing your contact list against the local cache to understand reach
- Debugging bot connectivity by confirming numbers are in the current cache
- Checking the list size or known numbers after a session restart for cache consistency
Quick Start
- Step 1: Open a terminal in the whatsapp-validate skill directory (where scripts/validate.js resides).
- Step 2: Run a single-number check, e.g. exec({ cmd: "node <skill_dir>/scripts/validate.js check \"5511999999999\"" }).
- Step 3: For bulk checks or listing known numbers, use batch or list commands as shown in the Skill.md usage.
Best Practices
- Normalize numbers to the expected format (e.g., E.164 like 5511999999999) before checks
- Use batch checks for bulk validation to save time and API calls
- Interpret 'not found' as 'not interacted yet' rather than 'inactive'
- Regularly use List Known Numbers to audit what the cache currently holds
- Ensure the Baileys session is active and the bot is connected before running checks
Example Use Cases
- Validate a new lead's number before sending a welcome message
- Clean a marketing contact list by removing numbers not seen in the cache
- Preflight a broadcast to only reach known interactors
- Confirm a test number appears in cache after a login or restart
- Audit a contact list after a session restart to verify cache consistency