-
-
Notifications
You must be signed in to change notification settings - Fork 52.6k
Description
WhatsApp Group Messages Not Received - OpenClaw 2026.2.15
Summary
WhatsApp provider ignores all inbound group messages despite correct configuration. The gateway only listens for "personal" (direct) messages.
Environment
- OpenClaw Version: 2026.2.15 (updated 2026-02-17 12:52 PM PST)
- Platform: macOS (Darwin 21.6.0)
- Node: v24.13.1
- WhatsApp Plugin: Bundled (whatsapp plugin enabled: true)
Expected Behavior
With channels.whatsapp.groups configured and agents bound to specific group JIDs, inbound messages from those groups should:
- Be received by the WhatsApp provider
- Route to the bound agent based on
bindingsconfig - Trigger agent responses
Actual Behavior
- Gateway log shows:
"Listening for personal WhatsApp inbound messages." - Zero group messages are ever received (checked full day logs)
- Only direct messages show as inbound in logs:
"Inbound message +XXX -> +XXX (direct, N chars)" - Outbound messages TO groups work perfectly
Configuration Tested
Working Outbound Config (sending to groups works)
{
"channels": {
"whatsapp": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"],
"accounts": {
"default": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"]
}
}
}
},
"bindings": [
{
"agentId": "agent1",
"match": {
"channel": "whatsapp",
"accountId": "default",
"peer": { "kind": "group", "id": "GROUP_JID_1" }
}
}
]
}Also Tested (still broken)
{
"channels": {
"whatsapp": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"],
"groups": {
"GROUP_JID_1": { "requireMention": false },
"GROUP_JID_2": { "requireMention": false }
},
"accounts": {
"default": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"],
"groups": {
"GROUP_JID_1": { "requireMention": false },
"GROUP_JID_2": { "requireMention": false }
}
}
}
}
}
}Evidence from Logs
Gateway startup (every restart):
[whatsapp] [default] starting provider (+12136482436)
[whatsapp] Listening for personal WhatsApp inbound messages.
Config reload detection (shows config IS being read):
[gateway/reload] config change detected; evaluating reload (meta.lastTouchedAt, agents.list, bindings, channels.whatsapp.groups, channels.whatsapp.accounts.default.groups)
[gateway/reload] config change applied (dynamic reads: ...)
Inbound message samples (only directs, never groups):
[whatsapp/inbound] Inbound message +13107705099 -> +12136482436 (direct, 56 chars)
[whatsapp/inbound] Inbound message +13107705099 -> +12136482436 (direct, 71 chars)
[whatsapp/inbound] Inbound message +13107705099 -> +12136482436 (direct, 101 chars)
Zero group messages in entire day's logs
Outbound to groups (WORKS):
[whatsapp/outbound] Sending message -> 120363422739215303@g.us
[whatsapp/outbound] Sent message 3EB0D66DA28140B4180253 -> 120363422739215303@g.us (110ms)
Verification Steps Taken
- ✅ Bot number (+12136482436) is a member of both groups
- ✅ Outbound messages to groups work (confirmed delivery)
- ✅ Config schema validation passes
- ✅ Config hot-reload detects group config changes
- ✅ Agent bindings are correct
- ✅ No errors/warnings in logs related to groups
- ❌ Inbound group messages never reach the provider
Analysis
The WhatsApp provider appears to:
- Successfully read and hot-reload the
groupsconfig (logs confirm) - Ignore the config when establishing inbound listeners
- Only attach listeners for direct/personal messages
- Never subscribe to group message events at the protocol level
Suspected Root Cause
The provider startup logic may have a hardcoded limitation or the group listener registration is commented out / not implemented despite the config schema supporting it.
Reproduction Steps
- Install OpenClaw 2026.2.15
- Configure WhatsApp channel with groups (any of the above configs)
- Add bot number to WhatsApp groups
- Send message in group
- Observe: Gateway logs show zero inbound messages from group
Impact
- Multi-agent group chat setups completely broken
- No way to have different agents respond to different WhatsApp groups
- WhatsApp groups effectively read-only (can send, can't receive)
Possible Regression
Update to 2026.2.15 occurred at 12:52 PM on 2026-02-17. Config backups suggest group listening may have worked in previous versions with just groupAllowFrom containing group JIDs (without the separate groups object).
Additional Context
- Direct messages work perfectly
- Message tool can successfully send to groups via
message(action="send", target="GROUP_JID") - Config schema clearly supports
channels.whatsapp.groups - Gateway config reload system detects changes to
groupsconfig - The "Listening for personal WhatsApp inbound messages" log line appears suspicious
Requested Fix
Make WhatsApp provider respect channels.whatsapp.groups and channels.whatsapp.accounts.{id}.groups config when establishing inbound message listeners.
Log Excerpts Available: Full logs available on request
Config Files Available: Sanitized config available on request