plugins/all-skills/skills/whatsapp-automation/SKILL.md
Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for current schemas.
npx skillsauth add davepoon/buildwithclaude whatsapp-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate WhatsApp Business operations through Composio's WhatsApp toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/whatsapp
RUBE_MANAGE_CONNECTIONS with toolkit whatsappRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit whatsappWhen to use: User wants to send a text message to a WhatsApp contact
Tool sequence:
WHATSAPP_GET_PHONE_NUMBERS - List available business phone numbers [Prerequisite]WHATSAPP_SEND_MESSAGE - Send a text message [Required]Key parameters:
to: Recipient phone number in international format (e.g., '+14155551234')body: Message text contentphone_number_id: Business phone number ID to send fromPitfalls:
When to use: User wants to send pre-approved template messages for outbound communication
Tool sequence:
WHATSAPP_GET_MESSAGE_TEMPLATES - List available templates [Prerequisite]WHATSAPP_GET_TEMPLATE_STATUS - Check template approval status [Optional]WHATSAPP_SEND_TEMPLATE_MESSAGE - Send the template message [Required]Key parameters:
template_name: Name of the approved templatelanguage_code: Template language (e.g., 'en_US')to: Recipient phone numbercomponents: Template variable values and parametersPitfalls:
When to use: User wants to send images, documents, or other media
Tool sequence:
WHATSAPP_UPLOAD_MEDIA - Upload media to WhatsApp servers [Required]WHATSAPP_SEND_MEDIA_BY_ID - Send media using the uploaded media ID [Required]
ORWHATSAPP_SEND_MEDIA - Send media using a public URL [Alternative]Key parameters:
media_url: Public URL of the media (for SEND_MEDIA)media_id: ID from upload response (for SEND_MEDIA_BY_ID)type: Media type ('image', 'document', 'audio', 'video', 'sticker')caption: Optional caption for the mediaPitfalls:
When to use: User wants to reply to an incoming WhatsApp message
Tool sequence:
WHATSAPP_SEND_REPLY - Send a reply to a specific message [Required]Key parameters:
message_id: ID of the message being replied toto: Recipient phone numberbody: Reply text contentPitfalls:
When to use: User wants to view or manage their WhatsApp Business profile
Tool sequence:
WHATSAPP_GET_BUSINESS_PROFILE - Get business profile details [Optional]WHATSAPP_GET_PHONE_NUMBERS - List registered phone numbers [Optional]WHATSAPP_GET_PHONE_NUMBER - Get details for a specific number [Optional]WHATSAPP_CREATE_MESSAGE_TEMPLATE - Create a new template [Optional]WHATSAPP_GET_MESSAGE_TEMPLATES - List all templates [Optional]Key parameters:
phone_number_id: Business phone number IDtemplate_name: Name for the new templatecategory: Template category (MARKETING, UTILITY, AUTHENTICATION)language: Template language codePitfalls:
When to use: User wants to send contact information via WhatsApp
Tool sequence:
WHATSAPP_SEND_CONTACTS - Send contact cards [Required]Key parameters:
to: Recipient phone numbercontacts: Array of contact objects with name, phone, email detailsPitfalls:
1. Call WHATSAPP_GET_PHONE_NUMBERS
2. Extract phone_number_id for your business number
3. Use phone_number_id in all send operations
1. Call WHATSAPP_UPLOAD_MEDIA with the file
2. Extract media_id from response
3. Call WHATSAPP_SEND_MEDIA_BY_ID with media_id
4. OR use WHATSAPP_SEND_MEDIA with a public URL directly
Phone Number Format:
Messaging Restrictions:
Media Handling:
Template Management:
| Task | Tool Slug | Key Params | |------|-----------|------------| | Send message | WHATSAPP_SEND_MESSAGE | to, body | | Send template | WHATSAPP_SEND_TEMPLATE_MESSAGE | template_name, to, language_code | | Upload media | WHATSAPP_UPLOAD_MEDIA | (file params) | | Send media by ID | WHATSAPP_SEND_MEDIA_BY_ID | media_id, to, type | | Send media by URL | WHATSAPP_SEND_MEDIA | media_url, to, type | | Reply to message | WHATSAPP_SEND_REPLY | message_id, to, body | | Send contacts | WHATSAPP_SEND_CONTACTS | to, contacts | | Get media | WHATSAPP_GET_MEDIA | media_id | | List phone numbers | WHATSAPP_GET_PHONE_NUMBERS | (none) | | Get phone number | WHATSAPP_GET_PHONE_NUMBER | phone_number_id | | Get business profile | WHATSAPP_GET_BUSINESS_PROFILE | phone_number_id | | Create template | WHATSAPP_CREATE_MESSAGE_TEMPLATE | template_name, category, language | | List templates | WHATSAPP_GET_MESSAGE_TEMPLATES | (none) | | Check template status | WHATSAPP_GET_TEMPLATE_STATUS | template_id |
Powered by Composio
tools
Assesses the current state of the startup project and recommends what to focus on next. Use when there is a need or a question from the user to understand what the next steps are or what to focus on next.
data-ai
Use at the start of any conversation about a startup idea, product validation, founder strategy, or work inside a `startup/` workspace. Establishes file conventions, voice-input handling, subagent dispatch rules, and how to update each artifact safely. Activate before invoking any other startup-superpowers skill.
tools
Manages the founder's survey-based validation — crafting the right questions, deploying a survey to the internet, and analyzing results against hypotheses. Use when the founder wants to run a survey, create survey questions, validate hypotheses at scale, check how a survey is going, understand whether a survey is the right tool right now, or deploy a question set to get quantitative signal. Also bring this up if you believe that creating a survey to collect quantitative evidence may be useful at this point.
development
Guides the founder through designing and optionally building the simplest MVP or prototype that validates their current hypotheses. Use when the founder wants to build something to test assumptions, discusses what to build next, wants to interpret results from a live MVP, or is deciding whether the current approach is still right. Also use when a founder proposes something to build — the skill will check whether the proposed form is the simplest thing that generates honest signal.