
Whatsapp Automation
- 1 installs
- 404 repo stars
- Updated August 5, 2026
- aiskillstore/marketplace
whatsapp-automation is a skill that automates WhatsApp Business messaging, templates, media, and contacts through Composio's WhatsApp toolkit via Rube MCP.
About
whatsapp-automation automates WhatsApp Business operations through Composio's WhatsApp toolkit via Rube MCP. A developer uses it to send text, template, and media messages, manage templates and business profiles, and share contacts. It documents tool sequences and pitfalls like the 24-hour messaging window and Meta template approval.
- Automates WhatsApp Business via Rube MCP (Composio)
- Sends text, template, and media messages plus contacts
- Handles the 24-hour messaging window and template approval
Whatsapp Automation by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,983 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
whatsapp-automation capabilities & compatibility
- Capabilities
- marketing · email · orchestration
- Use cases
- marketing · email
What whatsapp-automation says it does
Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts.
WhatsApp Business API account required (not regular WhatsApp)
After 24 hours, only approved template messages can be sent
npx skills add https://github.com/aiskillstore/marketplace --skill whatsapp-automationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 404 |
| Last updated | August 5, 2026 |
| Repository | aiskillstore/marketplace ↗ |
What it does
Automate WhatsApp Business messaging, templates, media, and contacts through Rube MCP.
Who is it for?
Automating WhatsApp Business messaging flows via Rube MCP
Skip if: Regular consumer WhatsApp, since a WhatsApp Business API account is required
When should I use this skill?
You want to send WhatsApp Business messages, templates, or media through Rube MCP
What you get
Automated WhatsApp Business messages sent correctly within the 24-hour window and template rules
- Automated WhatsApp Business message and template sends
By the numbers
- 6 core workflows documented
- Media limits: images 5MB, videos 16MB, documents 100MB
Files
WhatsApp Business Automation via Rube MCP
Automate WhatsApp Business operations through Composio's WhatsApp toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active WhatsApp connection via
RUBE_MANAGE_CONNECTIONSwith toolkitwhatsapp - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas - WhatsApp Business API account required (not regular WhatsApp)
Setup
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.
1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds 2. Call RUBE_MANAGE_CONNECTIONS with toolkit whatsapp 3. If connection is not ACTIVE, follow the returned auth link to complete WhatsApp Business setup 4. Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Send a Text Message
When to use: User wants to send a text message to a WhatsApp contact
Tool sequence: 1. WHATSAPP_GET_PHONE_NUMBERS - List available business phone numbers [Prerequisite] 2. 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 from
Pitfalls:
- Phone numbers must be in international E.164 format with country code
- Messages outside the 24-hour window require approved templates
- The 24-hour window starts when the customer last messaged you
- Business-initiated conversations require template messages first
2. Send Template Messages
When to use: User wants to send pre-approved template messages for outbound communication
Tool sequence: 1. WHATSAPP_GET_MESSAGE_TEMPLATES - List available templates [Prerequisite] 2. WHATSAPP_GET_TEMPLATE_STATUS - Check template approval status [Optional] 3. 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 parameters
Pitfalls:
- Templates must be approved by Meta before use
- Template variables must match the expected count and format
- Sending unapproved or rejected templates returns errors
- Language code must match an approved translation of the template
3. Send Media Messages
When to use: User wants to send images, documents, or other media
Tool sequence: 1. WHATSAPP_UPLOAD_MEDIA - Upload media to WhatsApp servers [Required] 2. WHATSAPP_SEND_MEDIA_BY_ID - Send media using the uploaded media ID [Required] OR 3. 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 media
Pitfalls:
- Uploaded media IDs are temporary and expire after a period
- Media size limits vary by type (images: 5MB, videos: 16MB, documents: 100MB)
- Supported formats: images (JPEG, PNG), videos (MP4, 3GPP), documents (PDF, etc.)
- SEND_MEDIA requires a publicly accessible HTTPS URL
4. Reply to Messages
When to use: User wants to reply to an incoming WhatsApp message
Tool sequence: 1. 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 content
Pitfalls:
- message_id must be from a message received within the 24-hour window
- Replies appear as quoted messages in the conversation
- The original message must still exist (not deleted) for the quote to display
5. Manage Business Profile and Templates
When to use: User wants to view or manage their WhatsApp Business profile
Tool sequence: 1. WHATSAPP_GET_BUSINESS_PROFILE - Get business profile details [Optional] 2. WHATSAPP_GET_PHONE_NUMBERS - List registered phone numbers [Optional] 3. WHATSAPP_GET_PHONE_NUMBER - Get details for a specific number [Optional] 4. WHATSAPP_CREATE_MESSAGE_TEMPLATE - Create a new template [Optional] 5. 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 code
Pitfalls:
- New templates require Meta review before they can be used
- Template names must be lowercase with underscores (no spaces)
- Category affects pricing and approval criteria
- Templates have specific formatting requirements for headers, body, and buttons
6. Share Contacts
When to use: User wants to send contact information via WhatsApp
Tool sequence: 1. WHATSAPP_SEND_CONTACTS - Send contact cards [Required]
Key parameters:
to: Recipient phone numbercontacts: 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 operationsMedia 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 directlyKnown 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 |
{
"schema_version": "2.0",
"meta": {
"generated_at": "2026-02-25T09:58:27.733Z",
"slug": "sickn33-whatsapp-automation",
"source_url": "https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/whatsapp-automation",
"source_ref": "main",
"model": "claude",
"analysis_version": "3.0.0",
"source_type": "community",
"content_hash": "0294d7b1e00430940e9660befda09145c6f02b28e1103323e6725fd38dbc9979",
"tree_hash": "ee5d07f29d70a15e80b7adfad4300983c155d95f2ca567c79d73bbae88ccf522"
},
"skill": {
"name": "whatsapp-automation",
"description": "Automate WhatsApp Business tasks via Rube MCP (Composio): send messages, manage templates, upload media, and handle contacts.",
"summary": "Send WhatsApp Business messages, manage templates, upload media, and automate customer communication workflows through Rube MCP integration.",
"icon": "💬",
"version": "1.0.1",
"author": "sickn33",
"license": "MIT",
"category": "communication",
"tags": [
"WhatsApp",
"messaging",
"business automation",
"customer communication",
"Composio"
],
"supported_tools": [
"claude",
"codex",
"claude-code"
],
"risk_factors": [
"external_commands",
"network"
]
},
"security_audit": {
"risk_level": "low",
"is_blocked": false,
"safe_to_publish": true,
"summary": "Static analyzer flagged 45 external command patterns and 1 network reference, but all findings are FALSE POSITIVES. The scanned file (SKILL.md) is documentation only - tool references like WHATSAPP_SEND_MESSAGE are MCP tool identifiers in instructional text, not executable shell commands. The URL reference is the MCP server endpoint in setup instructions. No actual code execution, cryptographic operations, or system reconnaissance exists. Low risk assigned due to external API integration nature requiring user-provided credentials.",
"risk_factor_evidence": [
{
"factor": "external_commands",
"evidence": [
{
"file": "SKILL.md",
"line_start": 17,
"line_end": 17
},
{
"file": "SKILL.md",
"line_start": 18,
"line_end": 18
},
{
"file": "SKILL.md",
"line_start": 23,
"line_end": 23
},
{
"file": "SKILL.md",
"line_start": 26,
"line_end": 26
},
{
"file": "SKILL.md",
"line_start": 27,
"line_end": 27
},
{
"file": "SKILL.md",
"line_start": 38,
"line_end": 38
},
{
"file": "SKILL.md",
"line_start": 39,
"line_end": 39
},
{
"file": "SKILL.md",
"line_start": 57,
"line_end": 57
},
{
"file": "SKILL.md",
"line_start": 58,
"line_end": 58
},
{
"file": "SKILL.md",
"line_start": 59,
"line_end": 59
},
{
"file": "SKILL.md",
"line_start": 78,
"line_end": 78
},
{
"file": "SKILL.md",
"line_start": 79,
"line_end": 79
},
{
"file": "SKILL.md",
"line_start": 100,
"line_end": 100
},
{
"file": "SKILL.md",
"line_start": 117,
"line_end": 117
},
{
"file": "SKILL.md",
"line_start": 118,
"line_end": 118
},
{
"file": "SKILL.md",
"line_start": 119,
"line_end": 119
},
{
"file": "SKILL.md",
"line_start": 120,
"line_end": 120
},
{
"file": "SKILL.md",
"line_start": 121,
"line_end": 121
},
{
"file": "SKILL.md",
"line_start": 140,
"line_end": 140
},
{
"file": "SKILL.md",
"line_start": 162,
"line_end": 166
},
{
"file": "SKILL.md",
"line_start": 170,
"line_end": 175
},
{
"file": "SKILL.md",
"line_start": 203,
"line_end": 216
}
]
},
{
"factor": "network",
"evidence": [
{
"file": "SKILL.md",
"line_start": 23,
"line_end": 23
}
]
}
],
"critical_findings": [],
"high_findings": [],
"medium_findings": [],
"low_findings": [
{
"title": "Documentation References Flagged as Code Execution",
"description": "Static analyzer detected backtick patterns in SKILL.md but these are MCP tool identifiers in documentation (e.g., RUBE_SEARCH_TOOLS, WHATSAPP_SEND_MESSAGE), not executable shell commands. The file contains instructional text only with no runnable code.",
"locations": [
{
"file": "SKILL.md",
"line_start": 17,
"line_end": 216
}
],
"confidence": 0.95,
"confidence_reasoning": "SKILL.md is purely documentation - tool names in backticks are markdown formatting for inline code references, not shell execution syntax."
}
],
"dangerous_patterns": [],
"files_scanned": 1,
"total_lines": 220,
"audit_model": "claude",
"audited_at": "2026-02-25T09:58:27.733Z"
},
"content": {
"user_title": "Automate WhatsApp Business messaging and templates",
"value_statement": "Businesses waste hours on manual WhatsApp customer communication. This skill automates message sending, template management, and media sharing through WhatsApp Business API via Rube MCP.",
"seo_keywords": [
"WhatsApp automation",
"WhatsApp Business API",
"Claude Code WhatsApp",
"Codex messaging skill",
"customer communication automation",
"Composio WhatsApp integration",
"Rube MCP WhatsApp",
"business messaging Claude",
"template message automation",
"WhatsApp media upload"
],
"actual_capabilities": [
"Send text messages to WhatsApp contacts using business phone numbers",
"Send pre-approved template messages for outbound communication",
"Upload and send media files including images, documents, audio, and video",
"Reply to incoming messages within the 24-hour conversation window",
"Manage business profile and message templates",
"Share contact cards with name, phone, and email details"
],
"limitations": [
"Requires WhatsApp Business API account, not regular WhatsApp",
"Must maintain active connection via RUBE_MANAGE_CONNECTIONS before use",
"Messages outside 24-hour window require pre-approved template messages",
"Media uploads have size limits and temporary media IDs expire"
],
"use_cases": [
{
"title": "E-commerce Order Notifications",
"description": "Automatically send order confirmations, shipping updates, and delivery notifications to customers via WhatsApp template messages.",
"target_user": "Online store owners managing customer order communications"
},
{
"title": "Customer Support Automation",
"description": "Handle customer inquiries by sending quick replies, product information, and support documents through WhatsApp messaging.",
"target_user": "Small business customer service teams"
},
{
"title": "Appointment Reminders",
"description": "Send automated appointment reminders and rescheduling notifications to clients using approved message templates.",
"target_user": "Service providers like salons, clinics, and consultants"
}
],
"prompt_templates": [
{
"title": "Basic Text Message",
"prompt": "Send a WhatsApp message to +14155551234 with the text: Your order 12345 has been confirmed and will ship within 2 business days.",
"scenario": "Sending a simple order confirmation message to a customer"
},
{
"title": "Template Message with Variables",
"prompt": "Send the order_confirmation template to +442071234567 in English with variables: customer_name=John Smith, order_number=67890, total_amount=$149.99",
"scenario": "Using a pre-approved template for personalized order notifications"
},
{
"title": "Media Document Sharing",
"prompt": "Upload the product catalog PDF from https://example.com/catalog.pdf and send it to +919876543210 with caption: Here is our latest product catalog as requested.",
"scenario": "Sharing product documentation with potential customers"
},
{
"title": "Reply to Customer Inquiry",
"prompt": "Reply to message ID wamid.HBgMOTEyMzQ1Njc4OTA with: Thank you for contacting us. Our team will respond within 24 hours.",
"scenario": "Acknowledging customer messages within the conversation window"
}
],
"output_examples": [
{
"input": "Send welcome message to new customer at +14155551234",
"output": "Message sent successfully to +14155551234. Message ID: wamid.HBgMOTEyMzQ1Njc4OTAVAgARGBI5QTNDQTA3MjUzRTQyNTYA"
},
{
"input": "List available message templates for my business",
"output": "Found 3 templates: order_confirmation (APPROVED), shipping_update (APPROVED), appointment_reminder (PENDING_REVIEW)"
}
],
"best_practices": [
"Always call RUBE_SEARCH_TOOLS first to get current tool schemas before executing workflows",
"Verify connection status is ACTIVE via RUBE_MANAGE_CONNECTIONS before running any WhatsApp operations",
"Format all phone numbers in E.164 international format with country code and no spaces or dashes"
],
"anti_patterns": [
"Do not attempt to send messages outside the 24-hour window without using approved templates",
"Do not use media IDs after they expire - upload media fresh for each send operation",
"Do not send messages without first verifying the recipient number format and business phone ID"
],
"faq": [
{
"question": "What is the 24-hour messaging window?",
"answer": "When a customer messages your business, a 24-hour window opens during which you can send free-form messages. After 24 hours, only pre-approved template messages can be sent until the customer replies again."
},
{
"question": "Do I need API keys to use this skill?",
"answer": "No API keys are needed for Rube MCP. Simply add https://rube.app/mcp as an MCP server endpoint in your client configuration and the connection works automatically."
},
{
"question": "What types of media can I send?",
"answer": "You can send images (JPEG, PNG up to 5MB), videos (MP4, 3GPP up to 16MB), documents (PDF and others up to 100MB), audio files, and stickers (WebP format, 512x512 pixels)."
},
{
"question": "How long does template approval take?",
"answer": "Template review by Meta can take up to 24 hours. Plan ahead when creating new templates for time-sensitive campaigns."
},
{
"question": "Can I send messages to any WhatsApp number?",
"answer": "You can send messages to any WhatsApp number, but business-initiated conversations outside the 24-hour window require approved templates. Customers must message you first to open free-form messaging."
},
{
"question": "What happens if my media upload fails?",
"answer": "Media uploads may fail due to size limits, unsupported formats, or network issues. Check the file size and format match WhatsApp requirements, ensure the URL is publicly accessible HTTPS, then retry the upload."
}
]
},
"file_structure": [
{
"name": "SKILL.md",
"type": "file",
"path": "SKILL.md",
"lines": 220
}
]
}
Related skills
FAQ
What account does it require?
A WhatsApp Business API account, not a regular WhatsApp account, and an active Rube MCP connection.
What is the 24-hour window?
Within 24 hours of a customer's last message you can send free-form messages; after that only approved template messages.