Skip to content

Feature request: Listen-only / suppress-outbound channel mode for WhatsApp #22791

@kaashifahmad

Description

@kaashifahmad

Feature Request

Add a channel-level configuration option to suppress all outbound messages on a given channel, enabling true "listen only" mode.

Use Case

We use WhatsApp to passively monitor ~100+ group chats (school, family, professional). We never want to send any outbound message — not even error messages or "NO_REPLY" responses. Currently, the only way to prevent outbound is requireMention: true on every group, which blocks agent processing entirely.

The problem: if an agent is bound to the WhatsApp channel and requireMention is false (or temporarily misconfigured), any agent error or response gets sent back to the WhatsApp group. This happened to us when a model 404 error was sent as a text message to a WhatsApp group — very embarrassing and hard to undo.

Current Workarounds

  1. requireMention: true on all groups — prevents agent processing, but also prevents any useful hook/agent logic from running on inbound messages
  2. groupAllowFrom: ["*"] + rely on gateway log — messages are logged at INFO level by web-inbound module, then extracted by a bridge script. Works but fragile.

Proposed Solution

A channel-level config option like:

{
  "channels": {
    "whatsapp": {
      "suppressOutbound": true
    }
  }
}

Or alternatively:

{
  "channels": {
    "whatsapp": {
      "mode": "listen-only"
    }
  }
}

This would:

  • Allow inbound messages to flow through normally (access control, hooks, agent processing)
  • Block ALL outbound messages at the transport layer (before they reach the WhatsApp API)
  • Log suppressed outbound attempts for debugging
  • Work independently of requireMention so hooks and agents CAN process messages without risk of replies

Why This Matters

  • Safety: Prevents accidental outbound messages from agent errors, model failures, or misconfiguration
  • Privacy: Allows passive monitoring without any group members knowing a bot is listening
  • Flexibility: Enables running agent logic on inbound messages (summarization, extraction) without outbound risk
  • Defense in depth: Even if requireMention is accidentally set to false, no message can escape

Related

Environment

  • OpenClaw version: 2026.2.19-2
  • OS: macOS 26.3 (arm64)

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions