n8ntools-whatsapp

Enhanced WhatsApp Business API node for N8N with comprehensive messaging integration

Package Information

Released: 9/13/2025
Downloads: 13 weekly / 28 monthly
Latest Version: 1.0.2

Documentation

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:

Via Community Nodes (Recommended)

  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

Discussion