This is an n8n community node that integrates Wassenger's WhatsApp API functionality into your n8n workflows.
Send WhatsApp messages, upload media files, validate phone numbers, manage chats, contacts, team members, departments, and more - all within your automated workflows.
Wassenger is a versatile WhatsApp Team Chat and API solution for business messaging to automate anything on WhatsApp.
Check out the API documentation and examples here
- Node.js: v16 or higher
- n8n: v1.70 or later
- Wassenger account: sign up for free to get API access
- API Key: obtain your API key here
- WhatsApp number: At least one WhatsApp number connected to Wassenger
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-wassenger
in the "Enter npm package name" field - Agree to the risks of using community nodes: select "I understand the risks of installing unverified code from a public source"
- Select Install
- You can now use Wassenger's node in your workflows: if you can't see it, restart n8n instance
To get started, install the package in your n8n root directory:
# Using npm
npm install n8n-nodes-wassenger
# Alternatively, for Docker-based installations
docker exec -it n8n npm install n8n-nodes-wassenger
After installation, restart your n8n instance.
- Go to Credentials
- Select Add Credential button
- Select Wassenger from the "Search for app" dropdown
- Enter your Wassenger API key in the API Key field
- Select Save to store your credentials
- Send formatted text messages to any WhatsApp user
- Support for rich text formatting (bold, italic, monospace, strikethrough)
- Add URLs with preview capability
- Include emojis and special characters
- Send to individual contacts or broadcast to multiple recipients
- Send images, videos, documents, and audio files
- Support for GIFs and stickers
- Upload files by URL or from local storage
- Add captions to media messages
- Set media message attributes (filename, mimetype, etc.)
- Schedule messages for future delivery
- Set specific date and time for delivery
- Schedule recurring messages with external triggers
- Cancel scheduled messages before delivery
- Validate if phone numbers exist on WhatsApp
- Check contact's profile information
- Add contacts to your address book
- Create and manage contact groups
- Process incoming messages via webhooks
- React to message status updates (sent, delivered, read)
- Handle group events (joins, leaves, topic changes)
- Monitor connection status changes
- Receive call notifications
- Send template messages for business accounts
- Use message variables for personalization
- Create automated reply workflows
- Set up conditional message flows based on responses
- Send interactive buttons and list messages
- Create polls and gather responses
- Send location messages
- Implement quick reply buttons
- Handle message reactions
- Download and process media from incoming messages
- Generate QR codes for WhatsApp Web login
- Monitor device battery and connection status
- Manage multiple WhatsApp accounts from a single workflow
To receive events from Wassenger or other external services, you'll need to configure n8n with a publicly accessible URL. By default, n8n runs locally and generates webhook URLs using localhost, which external services cannot reach.
n8n creates webhook URLs by combining the protocol, host, and port settings. When running behind a reverse proxy or needing public access, you must manually set the webhook URL.
export WEBHOOK_URL=https://your-domain.com/
n8n start
set WEBHOOK_URL=https://your-domain.com/
n8n start
$env:WEBHOOK_URL = "https://your-domain.com/"
n8n start
Add to your ~/.bashrc
, ~/.zshrc
, or appropriate shell configuration file:
echo 'export WEBHOOK_URL=https://your-domain.com/' >> ~/.bashrc
source ~/.bashrc
Set a system environment variable through:
- Right-click on 'This PC' or 'My Computer' → Properties
- Click 'Advanced system settings'
- Click 'Environment Variables'
- Add a new system variable with:
- Name:
WEBHOOK_URL
- Value:
https://your-domain.com/
- Name:
- Start n8n after setting the webhook URL
- Create a new workflow and add an "Wassenger" node that uses webhooks
- The webhook URL should now show your custom domain instead of localhost
- External services can now successfully send events to your n8n instance
Note: Ensure your domain is properly set up with SSL and that your network/firewall allows incoming connections to the port your n8n instance is using.
If you're developing locally and need a quick way to expose your n8n instance to the internet for testing webhooks, ngrok is a great solution.
# Using Homebrew
brew install ngrok
Or download and install manually here
Follow the instructions described here
- Download ngrok from https://ngrok.com/download
- Extract the zip file
- Optionally, add the ngrok executable to your PATH or move it to a directory that's already in your PATH
Alternatively follow the instructions here
- Sign up for a free account at https://ngrok.com
- Get your auth token from the ngrok dashboard
- Configure ngrok with your auth token:
ngrok authtoken YOUR_AUTH_TOKEN
-
Start your n8n instance first:
n8n start
-
In a new terminal window, start ngrok pointing to n8n's default port:
ngrok http 5678
-
Ngrok will display a URL like
https://abc123.ngrok.io
-
Set this as your n8n webhook URL in a new terminal:
Mac/Linux:
export WEBHOOK_URL=https://abc123.ngrok.io/ n8n start
Windows (Command Prompt):
set WEBHOOK_URL=https://abc123.ngrok.io/ n8n start
Windows (PowerShell):
$env:WEBHOOK_URL = "https://abc123.ngrok.io/" n8n start
-
You'll need to restart n8n for the webhook URL changes to take effect
- Start n8n on port 5678
- Launch ngrok:
ngrok http 5678
- Note the ngrok URL (e.g.,
https://abc123.ngrok.io
) - Stop n8n
- Set the webhook URL environment variable with the ngrok URL
- Restart n8n
- Create a workflow with a Wassenger webhook trigger
- The webhook URL will now use your ngrok domain and be accessible from the internet
Note: Free ngrok sessions expire after a few hours and the URL changes each time you restart ngrok. For production use, consider a permanent solution like a proper domain with a reverse proxy.
MIT