Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/whatsapp-automationComprehensive WhatsApp Business automation with clear workflows, tool sequences, and pitfall warnings
Automate WhatsApp Business operations through Composio's WhatsApp toolkit via Rube MCP.
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 |
Install via CLI
npx mdskills install sickn33/whatsapp-automationWhatsapp Automation is a free, open-source AI agent skill. Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for current schemas.
Install Whatsapp Automation with a single command:
npx mdskills install sickn33/whatsapp-automationThis downloads the skill files into your project and your AI agent picks them up automatically.
Whatsapp Automation works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.