JSPM

n8n-nodes-n8ntools-whatsapp

1.0.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 9
    • Score
      100M100P100Q43260F
    • License MIT

    Enhanced WhatsApp Business API node for N8N with comprehensive messaging integration

    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

    npm version npm downloads License: MIT

    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:

    1. Go to Settings > Community Nodes in your N8N interface
    2. Click Install a community node
    3. Enter n8n-nodes-n8ntools-whatsapp-enhanced
    4. Click Install

    Via npm

    npm install n8n-nodes-n8ntools-whatsapp-enhanced

    Setup Credentials

    1. Sign up at N8N Tools and get your API key
    2. In N8N, create new N8N Tools API credentials
    3. Enter your API URL: https://api.n8ntools.io
    4. 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

    1. Template Optimization: Pre-approve templates for faster delivery
    2. Media Caching: Upload media once and reuse media IDs
    3. Batch Operations: Group messages for bulk campaigns
    4. Error Handling: Implement retry logic for temporary failures
    5. Rate Limiting: Respect WhatsApp's messaging limits

    🆘 Support

    📄 License

    This project is licensed under the MIT License - see the LICENSE file for details.


    Made with ❤️ by N8N Tools