Docs: describe Slack interactive replies#45463
Conversation
Greptile SummaryThis PR adds documentation for the Three minor issues were found:
Confidence Score: 4/5
|
| Notes: | ||
|
|
||
| - This is Slack-specific UI. Other channels do not translate Slack Block Kit directives into their own button systems. | ||
| - The interactive callback values are OpenClaw-generated opaque tokens, not raw agent-authored values. |
There was a problem hiding this comment.
Clarify what value the agent receives on interaction
The note explains that callback values sent to Slack are OpenClaw-generated opaque tokens, but it doesn't say what value the agent receives when a user clicks a button or makes a selection. Developers writing agents that emit [[slack_buttons: ...]] need to know whether their handler receives the raw label value (e.g. approve), an opaque token, or something else entirely. Adding a sentence like "The agent handler receives the original label value (e.g. approve) after OpenClaw resolves the token." (or the correct equivalent) would make this note actionable.
Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/channels/slack.md
Line: 267
Comment:
**Clarify what value the agent receives on interaction**
The note explains that callback values sent to Slack are OpenClaw-generated opaque tokens, but it doesn't say what value the *agent* receives when a user clicks a button or makes a selection. Developers writing agents that emit `[[slack_buttons: ...]]` need to know whether their handler receives the raw label value (e.g. `approve`), an opaque token, or something else entirely. Adding a sentence like "The agent handler receives the original label value (e.g. `approve`) after OpenClaw resolves the token." (or the correct equivalent) would make this note actionable.
How can I resolve this? If you propose a fix, please make it concise.There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f4cb04b02
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| capabilities: { | ||
| interactiveReplies: true, | ||
| }, |
There was a problem hiding this comment.
Use valid Slack capabilities schema in config example
The new examples document channels.slack.capabilities as an object with interactiveReplies, but Slack config only accepts capabilities as a string array (src/config/zod-schema.providers-core.ts:834, src/config/types.slack.ts:92). If users copy this snippet, config validation fails before startup, so the documented enablement path is broken in practice; this should be updated to a supported key path (or removed until implemented).
Useful? React with 👍 / 👎.
| - `[[slack_buttons: Approve:approve, Reject:reject]]` | ||
| - `[[slack_select: Choose a target | Canary:canary, Production:production]]` | ||
|
|
||
| These directives compile into Slack Block Kit and route clicks or selections back through the existing Slack interaction event path. |
There was a problem hiding this comment.
Remove unsupported Slack reply directives from docs
This section claims [[slack_buttons: ...]] and [[slack_select: ...]] are compiled into Block Kit, but reply parsing only handles media/reply/audio tags through parseReplyDirectives + parseInlineDirectives (src/auto-reply/reply/reply-directives.ts:23-31, src/utils/directive-tags.ts:17-18) and there is no Slack-specific directive parser in src/. In current builds these tags are treated as plain text, so users following this doc will not get interactive controls.
Useful? React with 👍 / 👎.
Summary
channels.slack.capabilities.interactiveReplies[[slack_buttons: ...]]and[[slack_select: ...]]directives and current Slack-specific behaviorChange Type (select all)
Linked Issue/PR