← ClaudeAtlas

ops-whatsapp-bizlisted

WhatsApp Business Cloud API — send approved template messages at scale, manage templates with approval tracking, and integrate product catalogs. Separate from wacli personal WhatsApp.
Lifecycle-Innovations-Limited/claude-ops · ★ 17 · AI & Automation · score 86
Install: claude install-skill Lifecycle-Innovations-Limited/claude-ops
# OPS ► WHATSAPP BUSINESS WhatsApp Business Cloud API — distinct from wacli personal WhatsApp. **Key difference:** This skill uses the WhatsApp Business Cloud API (Meta Graph API) for business-to-customer messaging at scale. `wacli` is for personal WhatsApp messaging. Different credentials, different phone numbers, different use cases. ## Credential Resolution ```bash PREFS_PATH="${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json" # WhatsApp Business credentials (separate from wacli personal) WABA_TOKEN="${WHATSAPP_BUSINESS_TOKEN:-$(claude plugin config get whatsapp_business_token 2>/dev/null)}" WABA_PHONE_ID="${WHATSAPP_PHONE_NUMBER_ID:-$(claude plugin config get whatsapp_phone_number_id 2>/dev/null)}" WABA_ACCOUNT_ID="${WHATSAPP_BUSINESS_ACCOUNT_ID:-$(claude plugin config get whatsapp_business_account_id 2>/dev/null)}" # Doppler fallback if [ -z "$WABA_TOKEN" ]; then WABA_TOKEN="$(doppler secrets get WHATSAPP_BUSINESS_TOKEN --plain 2>/dev/null)" fi if [ -z "$WABA_PHONE_ID" ]; then WABA_PHONE_ID="$(doppler secrets get WHATSAPP_PHONE_NUMBER_ID --plain 2>/dev/null)" fi if [ -z "$WABA_ACCOUNT_ID" ]; then WABA_ACCOUNT_ID="$(doppler secrets get WHATSAPP_BUSINESS_ACCOUNT_ID --plain 2>/dev/null)" fi ``` **Credential check**: If `WABA_TOKEN` or `WABA_PHONE_ID` is empty, print: `WhatsApp Business not configured. Run /ops:whatsapp-biz setup to configure credentials.` and stop. --- ## Sub-command Routing Route `$ARGUMENTS`: | Inp