Skip to content

Slack reaction_added events not received via Socket Mode (multi-account setup) #26129

@daht-mad

Description

@daht-mad

Bug Report

Environment

  • OpenClaw version: 2026.2.22-2
  • OS: macOS (Darwin 25.3.0, arm64)
  • Node: v25.6.1
  • Slack mode: Socket Mode

Setup

  • Multi-account Slack setup: 3 accounts (default, personal, bbojjak) on a single OpenClaw gateway instance
  • Each account is a separate Slack app with its own botToken and appToken
  • reactionNotifications: "all" configured on accounts.bbojjak

Slack App Configuration (verified)

  • Event Subscriptions → Bot Events: reaction_added, reaction_removed are subscribed
  • OAuth & Permissions → Bot Token Scopes: reactions:read, reactions:write included
  • Socket Mode: enabled
  • App reinstalled to workspace after adding events/scopes

Expected Behavior

When a user adds an emoji reaction to a message, OpenClaw should receive the reaction_added event via Socket Mode and log/process it as a system event.

Actual Behavior

  • Messages (message.channels, app_mention, etc.) are received normally — the socket connection is working
  • reaction_added events never appear in logs at all — not even as dropped/filtered events
  • Tested multiple times: added reactions, checked logs immediately — zero reaction-related entries
  • Gateway restarted, app reinstalled — no change
  • The only "reaction" entries in logs are config hot-reload logs for reactionNotifications

Relevant Config (sanitized)

{
  "channels": {
    "slack": {
      "mode": "socket",
      "accounts": {
        "bbojjak": {
          "botToken": "xoxb-...",
          "appToken": "xapp-...",
          "reactionNotifications": "all",
          "groupPolicy": "open"
        }
      }
    }
  }
}

Log Evidence

After gateway restart at 13:46 KST, socket connected successfully:

slack socket mode connected
[bbojjak] starting provider
slack socket mode connected

But after user added reaction at 13:50 KST — zero reaction-related log entries. Only message events appear.

Notes

  • This is a multi-account setup where 3 Slack apps share one gateway. Could the event routing between accounts cause reaction events to be dropped silently?
  • The shouldDropMismatchedSlackEvent function checks api_app_id — could this be filtering out reaction events incorrectly in multi-account scenarios?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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