Skip to content

feat(slack): use static_select for large slash arg menus#18242

Closed
Solvely-Colin wants to merge 0 commit into
openclaw:mainfrom
Solvely-Colin:codex/slack-arg-menu-selects
Closed

feat(slack): use static_select for large slash arg menus#18242
Solvely-Colin wants to merge 0 commit into
openclaw:mainfrom
Solvely-Colin:codex/slack-arg-menu-selects

Conversation

@Solvely-Colin

@Solvely-Colin Solvely-Colin commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

Why

This slice improves Slack Block Kit usage for native slash command argument menus by using static_select when choices are too large for a single button row.

Dependency

What This PR Adds

  • In /Users/solvely/Projects/OpenClaw/src/slack/monitor/slash.ts:
    • keeps button menus for small choice sets (<= 5)
    • uses static_select menus for larger sets (> 5), chunked to Slack limits (100 options/select)
    • preserves existing action ID routing (openclaw_cmdarg)
    • supports both interaction payload shapes:
      • button click via action.value
      • select pick via action.selected_option.value

Behavior Changes

  • Small arg menus remain button-based.
  • Large arg menus render as dropdown selects, reducing block sprawl and improving UX.
  • Existing button flows remain backward compatible.

Validation

  • pnpm test src/slack/monitor/slash.test.ts
  • pnpm check

Reviewer Focus

  • src/slack/monitor/slash.ts
  • src/slack/monitor/slash.test.ts

@openclaw-barnacle openclaw-barnacle Bot added channel: slack Channel integration: slack size: L labels Feb 16, 2026
This was referenced Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: slack Channel integration: slack size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants