← Back to PRs

#6553: feat(slack): expose thread-reply action

by erauner12 open 2026-02-01 19:48 View on GitHub →
docs channel: telegram docker
## Summary Expose `thread-reply` as a first-class action for Slack so agents don't need to discover the workaround (`send` + `replyTo`) through trial and error. ## Problem When an agent tries `thread-reply` on Slack, it fails: ``` Action thread-reply is not supported for provider slack. ``` The agent then has to fall back to using `send` with `replyTo` - which works, but requires trial-and-error discovery. ## Solution - Add `thread-reply` to `listActions()` under the `messages` gate - Add handler that routes to `sendMessage` with `threadTs` - The underlying functionality already existed, this just exposes it properly ## Changes - `src/channels/plugins/slack.actions.ts`: Add `thread-reply` to actions list and add handler - `src/channels/plugins/slack.actions.test.ts`: Add tests for listing, handling, and error cases ## Test plan - [x] `thread-reply` appears in `listActions()` when messages enabled - [x] `thread-reply` does not appear when messages disabled - [x] `thread-reply` action routes to `sendMessage` with correct `threadTs` - [x] `thread-reply` throws helpful error when `threadId` missing Fixes #6542 <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR exposes a new Slack channel action, `thread-reply`, by adding it to `listActions()` (behind the existing `messages` action gate) and implementing a handler that forwards to the existing Slack tool action `sendMessage` with `threadTs` set (falling back from `threadId` → `replyTo` → `toolContext.currentThreadTs`). Tests were added to validate that the action is listed when enabled, hidden when disabled, and that invoking it maps to `sendMessage` with the expected parameters and errors when `threadId` is missing. <h3>Confidence Score: 4/5</h3> - This PR looks safe to merge, with only minor correctness and test robustness issues. - Changes are localized to Slack action listing/dispatch and a small test extension. Previously-reported logic issues cover the main behavioral risks; beyond those, remaining concerns are mainly around misleading error messaging and tests that can be order-dependent due to mock call state. - src/channels/plugins/slack.actions.ts, src/channels/plugins/slack.actions.test.ts <!-- greptile_other_comments_section --> <!-- /greptile_comment -->

Most Similar PRs