Skip to content

Channel: Slack Adapter #7

@ggondim

Description

@ggondim

Summary

Implement the Slack channel adapter using Vercel Chat SDK. Slack is the primary validation target — it has the richest API and tests the full flow (native threads, buttons, selects).

Tasks

  • Register Slack bot (OAuth tokens, event subscriptions)
  • Inbound: message events, app mentions, slash commands
  • Outbound: text, blocks (mrkdwn), buttons (Block Kit actions), select menus
  • Thread support: native Slack threads (1:1 mapping with OpenThreads threads)
  • A2H inline (method 1): Block Kit buttons for AUTHORIZE, select menus for COLLECT
  • Response capture (method 2): Slack interaction payloads (button clicks, menu selections), thread replies for free-text COLLECT
  • Report capabilities: { threads: true, buttons: true, selectMenus: true, replyMessages: false, dms: true, fileUpload: true }
  • Integration tests with Slack test workspace (manual/CI-optional)

Acceptance Criteria

  • Adapter implements full ChannelAdapter interface
  • Inbound messages from Slack are correctly parsed to normalized format
  • Outbound messages render correctly in Slack (text, blocks, buttons)
  • A2H AUTHORIZE renders as approve/deny buttons, callback returns response
  • A2H COLLECT with options renders as select menu
  • A2H COLLECT free-text captures thread reply
  • Passes shared adapter conformance test suite

Dependencies

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions