openclaw - ✅(Solved) Fix [Bug]: interactiveReplies button clicks not waking agent session (event received, no dispatch) [1 pull requests, 2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#67724Fetched 2026-04-17 08:29:34
View on GitHub
Comments
2
Participants
2
Timeline
9
Reactions
0
Timeline (top)
commented ×2labeled ×2referenced ×2cross-referenced ×1

After enabling interactiveReplies, Slack button clicks are received by the gateway and logged, but no agent session turn is triggered in response.

Root Cause

After enabling interactiveReplies, Slack button clicks are received by the gateway and logged, but no agent session turn is triggered in response.

Fix Action

Fix / Workaround

Clicking an interactive reply button should dispatch a new agent turn in the originating session, with the button selection available as context, similar to how a regular inbound message works.

PR fix notes

PR #67751: fix(slack): wake agent session on interactive reply button clicks [AI-assisted]

Description (problem / solution / changelog)

Problem

Interactive reply button clicks in Slack were received and logged but never woke the agent session. The handleSlackBlockAction handler correctly identified reply buttons via isSlackReplyActionId but only:

  1. Enqueued a system event via enqueueSlackBlockActionEvent (passive — waits for an existing session run)
  2. Updated the Slack message UI to show confirmation state

No agent dispatch was triggered, so the button click appeared unresponsive unless a session happened to be running.

Root Cause

The interaction event pipeline lacked a proactive dispatch step. System events are only consumed by drainFormattedSystemEvents during an active agent turn, but clicking a reply button did not start one.

Fix

Add wakeSlackReplySession() — a fire-and-forget async function called after the existing enqueue + UI update path, only for isSlackReplyActionId actions:

  1. Lazily imports resolveAgentRoute, finalizeInboundContext, dispatchReplyWithDispatcher, and createChannelReplyPipeline from the plugin SDK
  2. Constructs an inbound context with the button value as Body
  3. Dispatches a new agent turn via dispatchReplyWithDispatcher
  4. Delivers replies to the correct channel/thread via deliverReplies
  5. Errors are caught and logged — never disrupts the existing button-confirmation UX

Testing

  • Fully tested — all 33 tests pass (31 existing + 2 new regression tests)
  • wakes agent session when reply button is clicked — verifies dispatch is triggered with correct Body
  • does not wake agent session for non-reply actions — verifies non-reply actions don't trigger wake

Checklist

  • Tests added for new functionality
  • No breaking changes
  • Existing tests pass
  • I have reviewed this code and understand what it does

Closes #67724

Changed files

  • extensions/slack/src/monitor/events/interactions.block-actions.ts (modified, +143/-0)
  • extensions/slack/src/monitor/events/interactions.test.ts (modified, +474/-0)

Code Example

slack:interaction action=openclaw:reply_button:1:1 type=button user=U05RTFTC69G channel=D07ACCHES3D

---



---

{
  "channels": {
    "slack": {
      "mode": "socket",
      "capabilities": ["inlineButtons", "interactiveReplies"]
    }
  }
}
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After enabling interactiveReplies, Slack button clicks are received by the gateway and logged, but no agent session turn is triggered in response.

Steps to reproduce

  1. Add "interactiveReplies" to channels.slack.capabilities array.
  2. Restart gateway.
  3. Send a message with [[slack_buttons: Yes:yes, No:no]] directive.
  4. Confirm button renders in Slack DM.
  5. Click the button.
  6. Observe: no agent reply is sent.

Expected behavior

Clicking an interactive reply button should dispatch a new agent turn in the originating session, with the button selection available as context, similar to how a regular inbound message works.

Actual behavior

The gateway logs the interaction correctly:

slack:interaction action=openclaw:reply_button:1:1 type=button user=U05RTFTC69G channel=D07ACCHES3D

But no agent turn is triggered. The agent receives no notification of the button press. Tracing through source: enqueueSlackBlockActionEvent enqueues a system event to the resolved session key, but system events only drain when a session is already processing an inbound message. There is no mechanism to trigger a new agent turn from a standalone interaction event.

OpenClaw version

2026.4.14

Operating system

macOS 25.3.0 (Darwin arm64)

Install method

npm global

Model

anthropic/claude-sonnet-4-6

Provider / routing chain

openclaw -> anthropic

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

Affected: Any Slack DM user where the agent sends interactive reply buttons Severity: Blocks workflow — interactiveReplies is effectively non-functional for agent-initiated button flows Frequency: 100% reproducible Consequence: Agent never responds to button clicks; user sees the button update (label changes to show selection) but gets no reply

Additional information

Config used:

{
  "channels": {
    "slack": {
      "mode": "socket",
      "capabilities": ["inlineButtons", "interactiveReplies"]
    }
  }
}

The docs describe [[slack_buttons: Label:value]] directives compiling into Block Kit and routing "back through the existing Slack interaction event path" — but the event path does not appear to wake the agent session. The inlineButtons capability (exec approvals) works correctly; the issue is specific to interactiveReplies.

extent analysis

TL;DR

The issue can be resolved by implementing a mechanism to trigger a new agent turn from a standalone interaction event, as the current system events only drain when a session is already processing an inbound message.

Guidance

  • Review the enqueueSlackBlockActionEvent function to understand how system events are enqueued and consider modifying it to trigger a new agent turn when an interaction event is received.
  • Investigate the possibility of adding a new event type that can wake up the agent session, allowing it to process the button click event.
  • Verify that the interactiveReplies capability is correctly configured and enabled in the Slack channel settings.
  • Check the documentation for any specific requirements or limitations for using interactiveReplies with the anthropic/claude-sonnet-4-6 model.

Example

No code example is provided as the issue requires a deeper understanding of the OpenClaw architecture and the interaction between the gateway and the agent session.

Notes

The issue seems to be specific to the interactiveReplies capability and does not affect the inlineButtons capability. The problem is 100% reproducible, and the consequence is that the agent never responds to button clicks.

Recommendation

Apply a workaround by modifying the enqueueSlackBlockActionEvent function to trigger a new agent turn when an interaction event is received, as the current implementation does not support this functionality.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Clicking an interactive reply button should dispatch a new agent turn in the originating session, with the button selection available as context, similar to how a regular inbound message works.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Bug]: interactiveReplies button clicks not waking agent session (event received, no dispatch) [1 pull requests, 2 comments, 2 participants]