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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions