Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts. Always search tools first for current schemas.
contacts: Array of contact objects with name, phone, email details
Pitfalls:
Contact objects must follow the WhatsApp Business API contact schema
At least a name field is required for each contact
Phone numbers in contacts should include country codes
Common Patterns
24-Hour Messaging Window
Customers must message you first to open a conversation window
Within 24 hours of their last message, you can send free-form messages
After 24 hours, only approved template messages can be sent
Template messages can re-open the conversation window
Phone Number Resolution
1. Call WHATSAPP_GET_PHONE_NUMBERS
2. Extract phone_number_id for your business number
3. Use phone_number_id in all send operations
Media Upload Flow
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
Known Pitfalls
Phone Number Format:
Always use E.164 format: +[country code][number] (e.g., '+14155551234')
Do not include dashes, spaces, or parentheses
Country code is required; local numbers without it will fail
Messaging Restrictions:
Business-initiated messages require templates outside the 24-hour window
Template messages cost money per conversation
Rate limits apply per phone number and per account
Media Handling:
Uploaded media expires; use promptly after upload
Media URLs must be publicly accessible HTTPS
Stickers have specific requirements (WebP format, 512x512 pixels)
Template Management:
Template review can take up to 24 hours
Rejected templates need to be fixed and resubmitted
Template variables use double curly braces: {{1}}, {{2}}, etc.
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
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.