Skip to content

Proposal: integrate Slack's native drafts API #83

@kavin-kr

Description

@kavin-kr

Slack has an undocumented client API for managing drafts. It supports:

  • list drafts
  • create draft
  • update draft
  • delete draft

Reference:
https://github.com/karbassi/slack-mcp/blob/1c0f8cc503e5f1ebb7f43eb649eb4e07bd76eda0/src/slack_mcp/tools/undocumented.py#L112-L233

Adding this would let agents read and write drafts that show up natively in the user's Slack client, instead of only posting messages directly.

Problem

agent-slack message draft <target> [text] already exists, but it opens a browser editor for human-in-the-loop composing and is not connected to Slack's own drafts.

Adding Slack-native draft operations under the same draft name will likely confuse the LLM.

Options

  1. Separate plural subcommand: add message drafts list / create / update / delete, keep the existing singular message draft as-is.

  2. Rename and reuse draft: rename message draft to message compose (matches what it does), then use message draft <list | create | update | delete> for the Slack-native operations.

  3. Replace: drop the browser editor and repurpose message draft for the Slack-native operations.

Wanted to align on direction with the team before opening any PRs. Open to other options too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions