n8n community nodes for Wuzapi - WhatsApp Multi-Device REST API
npm install n8n-nodes-wuzapiThis is an n8n community node that provides a complete integration with Wuzapi - a multi-user and multi-device REST API for WhatsApp.
Wuzapi implements a robust WhatsApp Web API that allows you to send and receive messages, manage groups, handle media files, and much more through a simple REST interface.
n8n is a fair-code licensed workflow automation platform.
- Installation
- Operations
- Credentials
- Nodes Overview
- Usage Examples
- Features
- Error Handling
- Compatibility
- Resources
Follow the installation guide in the n8n community nodes documentation.
1. In n8n, go to Settings > Community Nodes
2. Click Install a community node
3. Enter n8n-nodes-wuzapi
4. Click Install
``bash`
npm install n8n-nodes-wuzapi
This package includes 11 specialized nodes, each focused on specific WhatsApp operations:
To use these nodes, you need to configure the Wuzapi credentials:
1. API Token - Your Wuzapi user token for authentication
2. API URL - The base URL of your Wuzapi instance
The credentials are automatically validated when configured. The validation provides real-time information about your Wuzapi session:
- Authentication Status - Confirms API token validity
- Session Information - Shows session name, connection status, and login state
- Dynamic Messages - Example: "Connected to setupautomatizado (Connected, Logged In)"
3. Advanced Options (Optional):
- Proxy URL - HTTP/SOCKS5 proxy for requests
- Request Timeout - Timeout in milliseconds
- Retry on Failure - Enable automatic retries
- Max Retries - Maximum retry attempts
1. Install and run Wuzapi following the official documentation
2. Create a user with an authentication token
3. Use the token and API URL in n8n credentials
This package follows a modular design where each node focuses on specific functionality:
- Session Management - Connection, authentication, and configuration
- Messaging - All message sending operations
- Chat Operations - Message management and interactions
- User Operations - User information and presence
- Group Management - Complete group functionality
- Webhook Configuration - Event subscription management
- Administration - User management (admin only)
- Event Trigger - Real-time event reception
- Send and Wait - Interactive approval workflows
- AI Integration - Optimized node for AI Tools and workflows
- ✅ Complete API Coverage - All Wuzapi endpoints implemented across 11 specialized nodes
- 🔄 Automatic Retry Logic - Built-in retry mechanism with exponential backoff
- 🛡️ Robust Error Handling - Graceful error handling with detailed messages
- 🎯 Type Safety - Full TypeScript implementation with comprehensive type checking
- 📦 Universal Media Support - Handle all media types with Binary Data, Base64, and URL sources
- 🔐 Multi-tenant Support - Each user has independent WhatsApp sessions
- ☁️ S3 Integration - Optional cloud storage for media files with automatic delivery
- 🌐 Proxy Support - HTTP/SOCKS5 proxy configuration for all operations
- ⚡ High Performance - Optimized for production use with efficient media handling
- 🎨 User-Friendly - Intuitive interface with helpful descriptions and examples
- 🤖 Complete AI Integration - Dedicated AI node with full message type support (11 types)
- 💬 Interactive Messages - Full support for buttons, lists, polls, and stickers
- 🎯 Mention System - Complete mention support for individuals and group-wide mentions
- 📱 Media Optimization - Smart media source detection and URL support for reduced payloads
- ✅ Enhanced Validation - Real-time credential validation with session status
- 🔧 Batch Processing - Efficient processing of multiple operations with error tolerance
- 🌍 Multi-format Support - WebP stickers, VCard contacts, geographic locations
- 📊 Group Intelligence - Advanced group management with polls and administrative controls
`javascript`
// Using Wuzapi Message node
{
"messageType": "text",
"phone": "5491155553934",
"body": "Hello from n8n!"
}
`javascript`
// Using Wuzapi Message node
{
"messageType": "image",
"phone": "5491155553934",
"imageSource": "binary",
"binaryProperty": "data",
"caption": "Check out this image!"
}
`javascript`
// Using Wuzapi Group node
{
"operation": "create",
"groupName": "My n8n Group",
"participants": "5491155553934,5491155553935"
}
`javascript`
// Using Wuzapi Trigger node - Basic setup
{
"events": ["Message", "ReadReceipt"],
"filters": {
"messageType": "text",
"isGroup": "false"
}
}
`javascript`
// Complete trigger setup with all features
{
"events": ["Message"],
"filters": {
"fromPhone": "5521971532700@s.whatsapp.net",
"chatId": "120363312246943103@g.us",
"messageType": "media",
"containsText": "urgent",
"isGroup": "true",
"isFromMe": "false",
"tokenFilter": "setupautomatizado"
},
"options": {
"simplifyOutput": true,
"includeMediaData": true,
"parseMessageContent": true,
"includeRawData": false
}
}
`javascript`
// Simplified output for a text message
{
"eventType": "Message",
"token": "setupautomatizado",
"messageId": "A6BA5FB09055C47722F936C3FC74D98F",
"chat": "5521971532700@s.whatsapp.net",
"sender": "5521971532700@s.whatsapp.net",
"timestamp": "2025-05-28T06:47:26-03:00",
"messageType": "text",
"isFromMe": false,
"isGroup": false,
"pushName": "Guilherme Jansen",
"verifiedName": "Guilherme Jansen - Setup Automatizado",
"text": "Oi"
}
`javascript`
// Output for audio message with S3 and base64 data
{
"eventType": "Message",
"messageType": "ptt",
"audioUrl": "https://mmg.whatsapp.net/v/...",
"duration": 3,
"mimeType": "audio/ogg; codecs=opus",
"mediaBase64": "T2dnUwACAAAAAAAA...",
"mediaMimeType": "application/ogg",
"mediaFileName": "DB56752B6A203E5A96A2E533C4D0A7CF.oga",
"s3Data": {
"bucket": "evolution",
"key": "users/2fb8378b312c1d2dd127e094d9a99115/inbox/...",
"url": "https://s3.setupautomatizado.com.br/evolution/...",
"size": 8084
}
}
`javascript
// Output for buttons message
{
"eventType": "Message",
"messageType": "buttons",
"text": "ESCOLHA O MENU!",
"buttons": [
{
"id": "81ad952f-1085-4d2c-a4b9-de228cfc4117",
"text": "SUPORTE",
"type": 1
},
{
"id": "a4767ccb-ded6-4edd-be6a-363972fdaa0f",
"text": "COMERCIAL",
"type": 1
},
{
"id": "8f72fd66-1e6f-48bd-a5b5-c509fcc5a9f1",
"text": "ATENDIMENTO",
"type": 1
}
]
}
// Output for list message
{
"eventType": "Message",
"messageType": "list",
"title": "
"text": "
"buttonText": "
"sections": [
{
"title": "
"rows": [
{
"id": "
"title": "
"description": "
}
]
}
]
}
`
`javascript`
// Using Wuzapi AI node - Perfect for AI workflows
{
"operation": "sendText",
"phoneNumber": "5491155553934",
"message": "Hello! This is an AI-generated response from n8n."
}
`javascript`
// Using Wuzapi AI node with multiple items
[
{
"operation": "sendImage",
"phoneNumber": "5491155553934",
"imageSource": "url",
"imageUrl": "https://example.com/image1.jpg",
"caption": "AI Analysis Result 1"
},
{
"operation": "sendDocument",
"phoneNumber": "5491155553935",
"documentSource": "url",
"documentUrl": "https://example.com/report.pdf",
"fileName": "AI_Report.pdf",
"caption": "Generated Report"
}
]
`javascript
// Send sticker for reactions
{
"operation": "sendSticker",
"phoneNumber": "5491155553934",
"stickerSource": "url",
"stickerUrl": "https://example.com/thumbs-up.webp"
}
// Send buttons for AI decision tree
{
"operation": "sendButtons",
"phoneNumber": "5491155553934",
"message": "How can I help you today?",
"additionalOptions": {
"mentions": {
"mentionConfig": [{
"type": "specific",
"jids": "5491155553934@s.whatsapp.net"
}]
}
}
}
// Send list for AI-generated menu
{
"operation": "sendList",
"phoneNumber": "120363312246943103@g.us",
"buttonText": "Choose Service",
"description": "Select the service you need",
"topText": "AI Assistant Services",
"footerText": "Powered by AI",
"listItems": {
"item": [
{
"title": "Technical Support",
"desc": "Get help with technical issues",
"rowId": "tech_support"
},
{
"title": "Sales Information",
"desc": "Learn about our products",
"rowId": "sales_info"
},
{
"title": "General Questions",
"desc": "Ask any general questions",
"rowId": "general_qa"
}
]
}
}
// Send poll for group decisions
{
"operation": "sendPoll",
"phoneNumber": "120363312246943103@g.us",
"pollHeader": "Which feature should we prioritize?",
"pollOptions": "AI Chat Enhancement,Voice Messages,File Sharing,Video Calls"
}
`
`javascript
// Complete AI workflow with mentions and media
{
"operation": "sendVideo",
"phoneNumber": "5491155553934",
"videoSource": "base64",
"videoBase64": "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc...",
"caption": "Here's your AI-generated tutorial video",
"additionalOptions": {
"id": "ai_tutorial_001",
"mentions": {
"mentionConfig": [{
"type": "all"
}]
}
}
}
// AI processing with binary data from previous nodes
{
"operation": "sendDocument",
"phoneNumber": "5491155553934",
"documentSource": "binary",
"documentBinaryProperty": "processed_report",
"fileName": "AI_Analysis_Report.pdf",
"caption": "Your personalized AI analysis is ready!"
}
``
All nodes include comprehensive error handling:
- Automatic Retries - Failed requests are retried with exponential backoff
- Continue on Fail - Option to continue workflow execution on errors
- Detailed Error Messages - Clear error descriptions for debugging
- HTTP Status Codes - Proper status code handling
- Authentication Errors - No retry on authentication failures
- n8n Version: 0.210.0 or higher
- Node.js: 20.15 or higher
- Wuzapi: Compatible with all Wuzapi versions
- WhatsApp: Supports all current WhatsApp message types including interactive content
- Media Formats:
- Images: JPEG, PNG, WebP
- Videos: MP4, AVI, MOV (H.264 codec recommended)
- Audio: OGG (Opus), MP3, WAV, AAC
- Documents: PDF, DOCX, XLSX, TXT, and all file types
- Stickers: WebP format (recommended), PNG with transparency
- n8n Community Nodes Documentation
- Wuzapi Documentation
- Wuzapi API Documentation
- WhatsApp Business API
For issues and feature requests, please use the GitHub issues page.
Guilherme Jansen - guilherme@setupautomatizado.com.br
---
Made with ❤️ for the n8n community