Slack · Capability

Slack Chat API — Chat

Slack Chat API — Chat. 10 operations. Lead operation: Slack Post Chat Delete. Self-contained Naftiko capability covering one Slack business surface.

Run with Naftiko SlackChat

What You Can Do

POST
Postchatdelete — Slack Post Chat Delete
/v1/chat-delete
POST
Postchatdeletescheduledmessage — Slack Post Chat Deletescheduledmessage
/v1/chat-deletescheduledmessage
GET
Getchatgetpermalink — Slack Get Chat Getpermalink
/v1/chat-getpermalink
POST
Postchatmemessage — Slack Post Chat Memessage
/v1/chat-memessage
POST
Postchatpostephemeral — Slack Post Chat Postephemeral
/v1/chat-postephemeral
POST
Postchatpostmessage — Slack Post Chat Postmessage
/v1/chat-postmessage
POST
Postchatschedulemessage — Slack Post Chat Schedulemessage
/v1/chat-schedulemessage
GET
Getchatscheduledmessageslist — Slack Get Chat Scheduledmessages List
/v1/chat-scheduledmessages-list
POST
Postchatunfurl — Slack Post Chat Unfurl
/v1/chat-unfurl
POST
Postchatupdate — Slack Post Chat Update
/v1/chat-update

MCP Tools

slack-post-chat-delete

Slack Post Chat Delete

slack-post-chat-deletescheduledmessage

Slack Post Chat Deletescheduledmessage

slack-get-chat-getpermalink

Slack Get Chat Getpermalink

read-only idempotent
slack-post-chat-memessage

Slack Post Chat Memessage

slack-post-chat-postephemeral

Slack Post Chat Postephemeral

slack-post-chat-postmessage

Slack Post Chat Postmessage

slack-post-chat-schedulemessage

Slack Post Chat Schedulemessage

slack-get-chat-scheduledmessages-list

Slack Get Chat Scheduledmessages List

read-only idempotent
slack-post-chat-unfurl

Slack Post Chat Unfurl

slack-post-chat-update

Slack Post Chat Update

Capability Spec

chat-chat.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Slack Chat API — Chat
  description: 'Slack Chat API — Chat. 10 operations. Lead operation: Slack Post Chat Delete. Self-contained Naftiko capability
    covering one Slack business surface.'
  tags:
  - Slack
  - Chat
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SLACK_API_KEY: SLACK_API_KEY
capability:
  consumes:
  - type: http
    namespace: chat-chat
    baseUri: ''
    description: Slack Chat API — Chat business capability. Self-contained, no shared references.
    resources:
    - name: chat.delete
      path: /chat.delete
      operations:
      - name: postchatdelete
        method: POST
        description: Slack Post Chat Delete
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: chat.deleteScheduledMessage
      path: /chat.deleteScheduledMessage
      operations:
      - name: postchatdeletescheduledmessage
        method: POST
        description: Slack Post Chat Deletescheduledmessage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: chat.getPermalink
      path: /chat.getPermalink
      operations:
      - name: getchatgetpermalink
        method: GET
        description: Slack Get Chat Getpermalink
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: 'Authentication token. Requires scope: `none`'
          required: true
        - name: channel
          in: query
          type: string
          description: The ID of the conversation or channel containing the message
          required: true
        - name: message_ts
          in: query
          type: string
          description: A message's `ts` value, uniquely identifying it within a channel
          required: true
    - name: chat.meMessage
      path: /chat.meMessage
      operations:
      - name: postchatmemessage
        method: POST
        description: Slack Post Chat Memessage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: chat.postEphemeral
      path: /chat.postEphemeral
      operations:
      - name: postchatpostephemeral
        method: POST
        description: Slack Post Chat Postephemeral
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: chat.postMessage
      path: /chat.postMessage
      operations:
      - name: postchatpostmessage
        method: POST
        description: Slack Post Chat Postmessage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: chat.scheduleMessage
      path: /chat.scheduleMessage
      operations:
      - name: postchatschedulemessage
        method: POST
        description: Slack Post Chat Schedulemessage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: chat.scheduledMessages.list
      path: /chat.scheduledMessages.list
      operations:
      - name: getchatscheduledmessageslist
        method: GET
        description: Slack Get Chat Scheduledmessages List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `none`'
        - name: channel
          in: query
          type: string
          description: The channel of the scheduled messages
        - name: latest
          in: query
          type: number
          description: A UNIX timestamp of the latest value in the time range
        - name: oldest
          in: query
          type: number
          description: A UNIX timestamp of the oldest value in the time range
        - name: limit
          in: query
          type: integer
          description: Maximum number of original entries to return.
        - name: cursor
          in: query
          type: string
          description: 'For pagination purposes, this is the `cursor` value returned from a previous call to `chat.scheduledmessages.list`
            indicating where you want to start this call '
    - name: chat.unfurl
      path: /chat.unfurl
      operations:
      - name: postchatunfurl
        method: POST
        description: Slack Post Chat Unfurl
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `links:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: chat.update
      path: /chat.update
      operations:
      - name: postchatupdate
        method: POST
        description: Slack Post Chat Update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: header
          type: string
          description: 'Authentication token. Requires scope: `chat:write`'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: chat-chat-rest
    port: 8080
    description: REST adapter for Slack Chat API — Chat. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/chat-delete
      name: chat-delete
      description: REST surface for chat.delete.
      operations:
      - method: POST
        name: postchatdelete
        description: Slack Post Chat Delete
        call: chat-chat.postchatdelete
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-deletescheduledmessage
      name: chat-deletescheduledmessage
      description: REST surface for chat.deleteScheduledMessage.
      operations:
      - method: POST
        name: postchatdeletescheduledmessage
        description: Slack Post Chat Deletescheduledmessage
        call: chat-chat.postchatdeletescheduledmessage
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-getpermalink
      name: chat-getpermalink
      description: REST surface for chat.getPermalink.
      operations:
      - method: GET
        name: getchatgetpermalink
        description: Slack Get Chat Getpermalink
        call: chat-chat.getchatgetpermalink
        with:
          token: rest.token
          channel: rest.channel
          message_ts: rest.message_ts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-memessage
      name: chat-memessage
      description: REST surface for chat.meMessage.
      operations:
      - method: POST
        name: postchatmemessage
        description: Slack Post Chat Memessage
        call: chat-chat.postchatmemessage
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-postephemeral
      name: chat-postephemeral
      description: REST surface for chat.postEphemeral.
      operations:
      - method: POST
        name: postchatpostephemeral
        description: Slack Post Chat Postephemeral
        call: chat-chat.postchatpostephemeral
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-postmessage
      name: chat-postmessage
      description: REST surface for chat.postMessage.
      operations:
      - method: POST
        name: postchatpostmessage
        description: Slack Post Chat Postmessage
        call: chat-chat.postchatpostmessage
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-schedulemessage
      name: chat-schedulemessage
      description: REST surface for chat.scheduleMessage.
      operations:
      - method: POST
        name: postchatschedulemessage
        description: Slack Post Chat Schedulemessage
        call: chat-chat.postchatschedulemessage
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-scheduledmessages-list
      name: chat-scheduledmessages-list
      description: REST surface for chat.scheduledMessages.list.
      operations:
      - method: GET
        name: getchatscheduledmessageslist
        description: Slack Get Chat Scheduledmessages List
        call: chat-chat.getchatscheduledmessageslist
        with:
          token: rest.token
          channel: rest.channel
          latest: rest.latest
          oldest: rest.oldest
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-unfurl
      name: chat-unfurl
      description: REST surface for chat.unfurl.
      operations:
      - method: POST
        name: postchatunfurl
        description: Slack Post Chat Unfurl
        call: chat-chat.postchatunfurl
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/chat-update
      name: chat-update
      description: REST surface for chat.update.
      operations:
      - method: POST
        name: postchatupdate
        description: Slack Post Chat Update
        call: chat-chat.postchatupdate
        with:
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: chat-chat-mcp
    port: 9090
    transport: http
    description: MCP adapter for Slack Chat API — Chat. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: slack-post-chat-delete
      description: Slack Post Chat Delete
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatdelete
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-deletescheduledmessage
      description: Slack Post Chat Deletescheduledmessage
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatdeletescheduledmessage
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-chat-getpermalink
      description: Slack Get Chat Getpermalink
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chat-chat.getchatgetpermalink
      with:
        token: tools.token
        channel: tools.channel
        message_ts: tools.message_ts
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-memessage
      description: Slack Post Chat Memessage
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatmemessage
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-postephemeral
      description: Slack Post Chat Postephemeral
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatpostephemeral
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-postmessage
      description: Slack Post Chat Postmessage
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatpostmessage
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-schedulemessage
      description: Slack Post Chat Schedulemessage
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatschedulemessage
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-get-chat-scheduledmessages-list
      description: Slack Get Chat Scheduledmessages List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chat-chat.getchatscheduledmessageslist
      with:
        token: tools.token
        channel: tools.channel
        latest: tools.latest
        oldest: tools.oldest
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-unfurl
      description: Slack Post Chat Unfurl
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatunfurl
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: slack-post-chat-update
      description: Slack Post Chat Update
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: chat-chat.postchatupdate
      with:
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.