whatsapp-automation
Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for current schemas.
WhatsApp Business Automation via Rube MCP
Automate WhatsApp Business operations through Composio's WhatsApp toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit whatsappRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get 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 whatsappCore Workflows
1. Send a Text Message
When 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:
2. Send Template Messages
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:
3. Send Media Messages
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]OR
WHATSAPP_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:
4. Reply to Messages
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:
5. Manage Business Profile and Templates
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:
6. Share Contacts
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:
Common Patterns
24-Hour Messaging Window
Phone Number Resolution
1. Call WHATSAPP_GET_PHONE_NUMBERS
Extract phone_number_id for your business number
Use phone_number_id in all send operations Media Upload Flow
1. Call WHATSAPP_UPLOAD_MEDIA with the file
Extract media_id from response
Call WHATSAPP_SEND_MEDIA_BY_ID with media_id
OR use WHATSAPP_SEND_MEDIA with a public URL directly Known Pitfalls
Phone Number Format:
Messaging Restrictions:
Media Handling:
Template Management:
Quick Reference
| 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 |