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.
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
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: $.