Package Exports
- n8n-nodes-n8ntools-whatsapp
- n8n-nodes-n8ntools-whatsapp/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-n8ntools-whatsapp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
N8N Tools - WhatsApp Enhanced
Complete WhatsApp Business API integration with 35+ operations covering the full WhatsApp ecosystem. This N8N community node provides comprehensive access to Messages, Media, Templates, Contacts, Groups, and Business features through the official WhatsApp Business API platform.
✨ Features
- 📱 Advanced Messaging: Send text, media, interactive buttons, and rich templates
- 🎯 Template Management: Create, manage, and send approved message templates
- 📎 Media Handling: Send images, videos, documents, audio, and stickers up to 100MB
- 📞 Contact Management: Manage contacts, profiles, and business information
- 👥 Group Operations: Create, manage, and interact with WhatsApp groups
- 🔔 Webhook Integration: Real-time message delivery and status tracking
- 📊 Business Analytics: Message delivery rates, read receipts, and engagement metrics
- 🎛️ Interactive Elements: Buttons, lists, quick replies, and call-to-action messages
- 📋 Catalog Management: Showcase products and services through WhatsApp Business
- 🔒 Secure API: Powered by N8N Tools platform with usage tracking and validation
🚀 Quick Start
Installation
Install this node in your N8N instance:
Via Community Nodes (Recommended)
- Go to Settings > Community Nodes in your N8N interface
- Click Install a community node
- Enter
n8n-nodes-n8ntools-whatsapp-enhanced - Click Install
Via npm
npm install n8n-nodes-n8ntools-whatsapp-enhancedSetup Credentials
- Sign up at N8N Tools and get your API key
- In N8N, create new N8N Tools API credentials
- Enter your API URL:
https://api.n8ntools.io - Enter your API key
📋 Available Resources
📱 Messages (10 Operations)
Advanced messaging capabilities:
| Operation | Description | Official Node | Enhanced |
|---|---|---|---|
| Send Text Message | Send plain text messages | ✅ Basic | ✅ Full API |
| Send Media Message | Send images, videos, documents | ✅ Basic | ✅ Full API |
| Send Template | Send approved templates | ❌ | ✅ |
| Send Interactive Message | Send buttons and lists | ❌ | ✅ |
| Send Location | Share location messages | ❌ | ✅ |
| Send Contact | Share contact information | ❌ | ✅ |
| Send Sticker | Send animated stickers | ❌ | ✅ |
| Mark as Read | Mark messages as read | ❌ | ✅ |
| React to Message | Add emoji reactions | ❌ | ✅ |
| Forward Message | Forward messages between chats | ❌ | ✅ |
🎯 Templates (8 Operations)
Message template management:
- Create Template: Submit new message templates for approval
- Get Template: Retrieve template information and status
- Update Template: Modify existing templates
- Delete Template: Remove templates
- List Templates: View all business templates
- Get Template Analytics: Template performance metrics
- Submit for Review: Submit templates for Meta approval
- Template Categories: Manage template categories
📎 Media (6 Operations)
Comprehensive media handling:
- Upload Media: Upload files to WhatsApp servers
- Get Media: Retrieve media information
- Download Media: Download received media files
- Delete Media: Remove uploaded media
- Media Metadata: Manage media descriptions and tags
- Supported Formats: Check supported file types and limits
📞 Contacts (5 Operations)
Contact and profile management:
- Get Contact Info: Retrieve contact profile information
- Update Business Profile: Modify business profile details
- Get Business Profile: View current business profile
- Block Contact: Block/unblock contacts
- Get Contact Status: Check if contact uses WhatsApp
👥 Groups (4 Operations)
WhatsApp group management:
- Create Group: Create new WhatsApp groups
- Get Group Info: Retrieve group information
- Add Group Members: Add contacts to groups
- Remove Group Members: Remove members from groups
📊 Analytics (3 Operations)
Business analytics and insights:
- Message Analytics: Delivery and read rates
- Conversation Analytics: Conversation metrics and trends
- Business Insights: Overall business performance data
💡 Usage Examples
Send Interactive Button Message
// Configuration
Resource: "Messages"
Operation: "Send Interactive Message"
Phone Number: "+1234567890"
Request Body: {
"type": "interactive",
"interactive": {
"type": "button",
"body": {
"text": "Welcome to our service! How can we help you today?"
},
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "support",
"title": "Customer Support"
}
},
{
"type": "reply",
"reply": {
"id": "pricing",
"title": "View Pricing"
}
},
{
"type": "reply",
"reply": {
"id": "demo",
"title": "Request Demo"
}
}
]
}
}
}
// Output
{
"resource": "messages",
"operation": "sendInteractiveMessage",
"success": true,
"messaging_product": "whatsapp",
"contacts": [{
"input": "+1234567890",
"wa_id": "1234567890"
}],
"messages": [{
"id": "wamid.ABGGFlA5FpafAgo6tHcxAqsVD0JD="
}],
"creditsUsed": 1,
"creditsRemaining": 99
}Send Approved Message Template
// Send Template with Parameters
Resource: "Templates"
Operation: "Send Template"
Phone Number: "+1234567890"
Request Body: {
"name": "order_confirmation",
"language": {
"code": "en"
},
"components": [
{
"type": "header",
"parameters": [
{
"type": "text",
"text": "ORD-12345"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "John Doe"
},
{
"type": "currency",
"currency": {
"fallback_value": "$99.99",
"code": "USD",
"amount_1000": 99990
}
},
{
"type": "date_time",
"date_time": {
"fallback_value": "February 25, 2024"
}
}
]
}
]
}Send Media with Caption
// Send Image with Interactive Buttons
Resource: "Messages"
Operation: "Send Media Message"
Phone Number: "+1234567890"
Request Body: {
"type": "image",
"image": {
"link": "https://example.com/product-image.jpg",
"caption": "Check out our new product line! What interests you most?"
},
"interactive": {
"type": "button",
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "learn_more",
"title": "Learn More"
}
},
{
"type": "reply",
"reply": {
"id": "buy_now",
"title": "Buy Now"
}
}
]
}
}
}
// Send Document with Filename
Resource: "Messages"
Operation: "Send Media Message"
Phone Number: "+1234567890"
Request Body: {
"type": "document",
"document": {
"link": "https://example.com/product-catalog.pdf",
"filename": "Product Catalog 2024.pdf",
"caption": "Here's our latest product catalog with pricing information."
}
}Create and Manage Templates
// Create New Template
Resource: "Templates"
Operation: "Create Template"
Request Body: {
"name": "welcome_message",
"category": "MARKETING",
"language": "en",
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "Welcome to {{1}}!"
},
{
"type": "BODY",
"text": "Hi {{1}}, thank you for joining us! We're excited to have you on board. Reply STOP to opt out."
},
{
"type": "FOOTER",
"text": "Best regards, Customer Support Team"
}
]
}
// Get Template Analytics
Resource: "Templates"
Operation: "Get Template Analytics"
Template Name: "welcome_message"
Request Body: {
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"granularity": "daily"
}Handle Location and Contact Sharing
// Send Location Message
Resource: "Messages"
Operation: "Send Location"
Phone Number: "+1234567890"
Request Body: {
"type": "location",
"location": {
"longitude": -122.425332,
"latitude": 37.758056,
"name": "N8N Tools Office",
"address": "123 Tech Street, San Francisco, CA 94102"
}
}
// Send Contact Information
Resource: "Messages"
Operation: "Send Contact"
Phone Number: "+1234567890"
Request Body: {
"type": "contacts",
"contacts": [{
"addresses": [{
"street": "123 Business Ave",
"city": "San Francisco",
"state": "CA",
"zip": "94102",
"country": "United States",
"country_code": "us",
"type": "WORK"
}],
"birthday": "1985-01-01",
"emails": [{
"email": "support@example.com",
"type": "WORK"
}],
"name": {
"formatted_name": "Customer Support",
"first_name": "Customer",
"last_name": "Support"
},
"org": {
"company": "Example Company"
},
"phones": [{
"phone": "+1-555-555-5555",
"type": "WORK"
}],
"urls": [{
"url": "https://example.com",
"type": "WORK"
}]
}]
}⚙️ Configuration Options
Message Settings
- Message Type: Text, media, template, interactive
- Delivery Options: Preview URL, disable notifications
- Reply Context: Reply to specific messages
- Message Priority: Normal, high priority delivery
Business Profile
- Business Description: Company information
- Business Hours: Operating hours display
- Business Category: Industry classification
- Contact Information: Phone, email, website, address
Advanced Request Options
- Request Body: JSON payload for operations
- Phone Number: Target recipient identifier (international format)
- Media ID: For uploaded media references
- Additional Options: Tracking, analytics, and formatting
🛠️ Example Workflows
Customer Onboarding
[New Customer] → [WhatsApp Enhanced: Send Template] → [Welcome Message] → [Setup Instructions] → [Follow-up]Order Management
[Order Placed] → [WhatsApp Enhanced: Send Template] → [Payment Confirmation] → [Shipping Updates] → [Delivery Notification]Customer Support
[Support Request] → [WhatsApp Enhanced: Send Interactive Message] → [Category Selection] → [Agent Assignment] → [Resolution]Marketing Campaign
[Campaign Trigger] → [WhatsApp Enhanced: Send Template] → [Track Engagement] → [Follow-up Messages] → [Analytics Report]📊 Comparison with Official WhatsApp Node
| Feature Category | Official Node | WhatsApp Enhanced | Improvement |
|---|---|---|---|
| Messages | 2 operations | 10 operations | +400% |
| Templates | 0 operations | 8 operations | ∞ (new) |
| Media | 1 operation | 6 operations | +500% |
| Contacts | 0 operations | 5 operations | ∞ (new) |
| Groups | 0 operations | 4 operations | ∞ (new) |
| Analytics | 0 operations | 3 operations | ∞ (new) |
| Total Operations | 3 operations | 36 operations | +1100% |
🔧 API Endpoints
All operations are routed through N8N Tools API for consistent authentication and usage tracking:
| Resource | Base Endpoint |
|---|---|
| Messages | /api/v1/whatsapp-enhanced/messages/ |
| Templates | /api/v1/whatsapp-enhanced/templates/ |
| Media | /api/v1/whatsapp-enhanced/media/ |
| Contacts | /api/v1/whatsapp-enhanced/contacts/ |
| Groups | /api/v1/whatsapp-enhanced/groups/ |
| Analytics | /api/v1/whatsapp-enhanced/analytics/ |
🚨 Error Handling
The node provides comprehensive error handling with detailed messages:
{
"error": "INVALID_PHONE_NUMBER",
"success": false,
"resource": "messages",
"operation": "sendTextMessage",
"details": {
"issue": "The phone number format is invalid or not registered on WhatsApp",
"field": "to",
"value": "INVALID_NUMBER",
"error_code": 1006
}
}💸 Pricing & Limits
- Standard Operations: 1 credit per API call
- Template Messages: 2 credits (due to Meta approval costs)
- Media Operations: 1-3 credits based on file size
- Monthly Quotas: Based on your N8N Tools subscription plan
- Rate Limits: Based on your subscription tier
- Usage Tracking: Real-time credit monitoring
🔧 Troubleshooting
Common Issues
Authentication Errors
- Verify N8N Tools API key is valid and active
- Check API URL is set to
https://api.n8ntools.io - Ensure sufficient credits in your account
Phone Number Format
- Use international format with country code (+1234567890)
- Ensure recipient has WhatsApp installed
- Verify business phone number is verified with Meta
Template Issues
- Templates must be approved by Meta before use
- Check template status before sending
- Ensure parameter counts match template definition
Media Upload Limits
- WhatsApp limits media files to 100MB
- Supported formats: images (JPG, PNG), videos (MP4), documents (PDF, DOC)
- URLs must be publicly accessible and HTTPS
📈 Performance Tips
- Template Optimization: Pre-approve templates for faster delivery
- Media Caching: Upload media once and reuse media IDs
- Batch Operations: Group messages for bulk campaigns
- Error Handling: Implement retry logic for temporary failures
- Rate Limiting: Respect WhatsApp's messaging limits
🆘 Support
- Documentation: docs.n8ntools.io
- API Reference: api.n8ntools.io/docs
- Community: Discord
- Email: support@n8ntools.io
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by N8N Tools