Skip to content

Signal: Instant ACK Reactions #20393

Description

@01k-ops

Problem

The channels.signal.reactionLevel: "ack" config option is defined but not implemented. Setting it to "ack" disables agent reactions but does NOT send automatic acknowledgment reactions when messages arrive.

Expected Behavior

When reactionLevel: "ack" is set:

  • Signal should send an instant ack reaction (e.g., 👀) when a DM arrives
  • This should happen before the agent starts processing (instant feedback to the user)
  • Similar to how messages.ackReactionScope works for other channels

Actual Behavior

  • Setting reactionLevel: "ack" only disables agent reactions
  • No automatic ack reactions are sent
  • Agent tool calls fail with: "Signal agent reactions disabled (reactionLevel=\"ack\")"

Related Config

{
  "messages": {
    "ackReaction": "👀",
    "ackReactionScope": "direct"
  },
  "channels": {
    "signal": {
      "reactionLevel": "ack"
    }
  }
}

Use Case

User wants instant visual feedback when their message is received (before agent processing starts). This is especially important for slower models or when the agent takes time to respond.

Implementation Notes

Looking at the code:

  • src/signal/reaction-level.ts defines the "ack" level and sets ackEnabled: true
  • But src/signal/monitor/event-handler.ts doesn't seem to use this flag to send reactions
  • Other channels may already support ackReactionScope - Signal needs similar integration

Workaround

Set reactionLevel: "minimal" and have the agent react manually via tool calls (but this comes after processing, not before).

Environment

  • OpenClaw version: 2026.2.4
  • Channel: Signal (signal-cli)
  • OS: Linux (Debian-based)

Would love to see this implemented! Happy to test or provide more details. 🦞

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions