WhatsApp & Social Nodes
Automate WhatsApp messaging and multi-platform social communication.Available Nodes
| Node | Type | Purpose |
|---|---|---|
| WhatsApp Send | Action / AI Tool | Send text, media, location, contact, or sticker messages |
| WhatsApp DB | Action / AI Tool | Query chats, contacts, groups, and newsletter channels |
| WhatsApp Receive | Trigger | Wait for incoming messages |
WhatsApp Send and WhatsApp DB are dual-purpose: they work as standalone workflow nodes and as AI Agent tools when connected to an agent’s tools handle.
Setup Requirements
- WhatsApp service running (starts automatically with
machina start) - WhatsApp account for pairing
- Scan QR code to link device
Connecting
There is no “connect” workflow node. Pairing is managed from the Credentials panel:- Open the Credentials modal and select the WhatsApp panel
- Scan the displayed QR code with your WhatsApp mobile app
- Go to WhatsApp > Settings > Linked Devices > Link a Device
WhatsApp Receive
Trigger node that fires when messages arrive.Parameters
Filter by message type: all, text, image, video, audio, document, location, contact
Sender filter mode: all, self, any_contact, contact, group, channel, keywords
Specific phone number, digits only, no + prefix (when filter = contact)
Specific group JID (when filter = group)
Optional: filter group messages to a specific member (when filter = group)
Newsletter channel JID; leave empty to match any channel (when filter = channel)
Comma-separated keywords, case-insensitive (when filter = keywords)
Forwarded message handling: all, only_forwarded, ignore_forwarded
Skip messages sent by yourself
Download base64 media data with the event
Filter Options
| Filter | Description |
|---|---|
| All Messages | Receive everything |
| From Self | Notes-to-self chat only |
| From Any Contact | Non-group messages only |
| From Specific Contact | Match phone number |
| From Specific Group | Match group (optionally a specific member) |
| From Channel | Match newsletter channel |
| Contains Keywords | Match keywords in message |
Output
Group Message Output
Whenis_group is true:
Example: Reply to Specific Keywords
WhatsApp Send
Send messages to yourself, individual contacts, groups, or newsletter channels. Works as a workflow node or an AI Agent tool.Parameters
Where to send: self (connected phone), phone (individual), group, or channel (newsletter)
Recipient phone number, digits only, no + prefix (when recipient_type = phone)
Group JID, format 123456789@g.us (when recipient_type = group)
Newsletter channel JID, format 120363…@newsletter; admin/owner role required (when recipient_type = channel)
Type of message: text, image, video, audio, document, sticker, location, contact. Channels only support text, image, video, audio, document.
Text content (when message_type = text). Supports template variables.
Convert markdown (bold, italic, code, lists) to WhatsApp-native formatting (when message_type = text)
Source of media data: base64, file, or url (for image / video / audio / document / sticker)
HTTPS URL to download media from (when media_source = url)
Optional caption for image, video, or document
Output
Example: Auto-Reply
Example: Forward to Admin
WhatsApp DB
Query the WhatsApp database: chat history, contacts, groups, and newsletter channels. Works as a workflow node or an AI Agent tool.Parameters
Operation to perform (see table below)
phone, group_id, query, channel_jid, limit, offset, include_media_data).
Operations
| Operation | Purpose |
|---|---|
chat_history | Retrieve messages from an individual or group chat (with pagination and optional media download) |
search_groups | Search groups by name |
get_group_info | Get group details with participant names and phone numbers |
get_contact_info | Get full contact info (name, phone, profile picture) |
list_contacts | List all contacts with saved names |
check_contacts | Check WhatsApp registration status for phone numbers |
list_channels | List subscribed newsletter channels |
get_channel_info | Get channel details (name, description, subscribers) |
channel_messages | Get channel message history with filters and pagination |
channel_stats | Get channel subscriber/view statistics |
channel_follow / channel_unfollow | Follow or unfollow a newsletter channel |
channel_create | Create a new newsletter channel |
channel_mute | Mute or unmute a channel |
channel_mark_viewed | Mark channel messages as viewed |
newsletter_react | React to a channel message with an emoji |
newsletter_live_updates | Subscribe to live view/reaction counts |
contact_profile_pic | Get profile picture for a contact or group |
Example: Look Up a Contact
Common Workflows
Auto-Responder
Group Monitor
Keyword Bot
Tips
Troubleshooting
QR code not appearing
QR code not appearing
The WhatsApp service (whatsapp-rpc) starts automatically with
machina start
and listens on port 9400. Restart all services if the QR code doesn’t appear:Messages not received
Messages not received
- Verify workflow is deployed (not just saved)
- Check filter settings aren’t too restrictive
- Confirm
ignoreOwnMessagessetting
Send fails
Send fails
- Include country code in phone number
- Check WhatsApp connection status
- Verify recipient hasn’t blocked you
Connection drops frequently
Connection drops frequently
- Check internet connectivity
- Ensure phone stays online
- Don’t use WhatsApp Web simultaneously
Social Nodes
Unified messaging nodes for multi-platform communication. Supports WhatsApp, Telegram, Discord, Slack, Signal, SMS, Webchat, Email, Matrix, Teams.Social Receive
Normalizes messages from any platform trigger into a unified format. Output Fields:channel- Platform namemessage_id,sender_id,sender_nametext,message_type,timestampmedia- Platform-specific media data
Social Send (Dual-Purpose)
Send messages to any supported platform. Works as workflow node OR AI Agent tool. Message Types: text, image, video, audio, document, sticker, location, contact, poll, buttons, listRelated
WhatsApp Tutorial
Step-by-step guide
AI Agent
Add AI-powered responses