Slack · Capability
Slack Web API — Conversations
Slack Web API — Conversations. 14 operations. Lead operation: Slack Archive a Channel. Self-contained Naftiko capability covering one Slack business surface.
What You Can Do
POST
Conversationsarchive
— Slack Archive a Channel
/v1/conversations-archive
POST
Conversationscreate
— Slack Create a Channel
/v1/conversations-create
GET
Conversationshistory
— Slack Fetch Message History
/v1/conversations-history
GET
Conversationsinfo
— Slack Get Information About a Channel
/v1/conversations-info
POST
Conversationsinvite
— Slack Invite Users to a Channel
/v1/conversations-invite
POST
Conversationsjoin
— Slack Join an Existing Conversation
/v1/conversations-join
POST
Conversationsleave
— Slack Leave a Conversation
/v1/conversations-leave
GET
Conversationslist
— Slack List All Channels
/v1/conversations-list
GET
Conversationsmembers
— Slack List Members of a Conversation
/v1/conversations-members
POST
Conversationsrename
— Slack Rename a Conversation
/v1/conversations-rename
GET
Conversationsreplies
— Slack Retrieve a Thread of Messages
/v1/conversations-replies
POST
Conversationssetpurpose
— Slack Set the Purpose of a Conversation
/v1/conversations-setpurpose
POST
Conversationssettopic
— Slack Set the Topic of a Conversation
/v1/conversations-settopic
POST
Conversationsunarchive
— Slack Unarchive a Channel
/v1/conversations-unarchive
MCP Tools
slack-archive-channel
Slack Archive a Channel
slack-create-channel
Slack Create a Channel
slack-fetch-message-history
Slack Fetch Message History
read-only
idempotent
slack-get-information-about-channel
Slack Get Information About a Channel
read-only
idempotent
slack-invite-users-channel
Slack Invite Users to a Channel
slack-join-existing-conversation
Slack Join an Existing Conversation
slack-leave-conversation
Slack Leave a Conversation
slack-list-all-channels
Slack List All Channels
read-only
idempotent
slack-list-members-conversation
Slack List Members of a Conversation
read-only
idempotent
slack-rename-conversation
Slack Rename a Conversation
slack-retrieve-thread-messages
Slack Retrieve a Thread of Messages
read-only
idempotent
slack-set-purpose-conversation
Slack Set the Purpose of a Conversation
slack-set-topic-conversation
Slack Set the Topic of a Conversation
slack-unarchive-channel
Slack Unarchive a Channel
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Slack Web API — Conversations
description: 'Slack Web API — Conversations. 14 operations. Lead operation: Slack Archive a Channel. Self-contained Naftiko
capability covering one Slack business surface.'
tags:
- Slack
- Conversations
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SLACK_API_KEY: SLACK_API_KEY
capability:
consumes:
- type: http
namespace: web-conversations
baseUri: https://slack.com/api
description: Slack Web API — Conversations business capability. Self-contained, no shared references.
resources:
- name: conversations.archive
path: /conversations.archive
operations:
- name: conversationsarchive
method: POST
description: Slack Archive a Channel
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.create
path: /conversations.create
operations:
- name: conversationscreate
method: POST
description: Slack Create a Channel
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.history
path: /conversations.history
operations:
- name: conversationshistory
method: GET
description: Slack Fetch Message History
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: channel
in: query
type: string
description: Conversation ID to fetch history for.
required: true
- name: cursor
in: query
type: string
description: Paginate through collections by setting the cursor parameter to a next_cursor attribute returned by
a previous request.
- name: inclusive
in: query
type: boolean
description: Include messages with oldest or latest timestamps in results.
- name: latest
in: query
type: string
description: Only messages before this Unix timestamp will be included. Default is the current time.
- name: limit
in: query
type: integer
description: The maximum number of items to return. Default 100, max 999.
- name: oldest
in: query
type: string
description: Only messages after this Unix timestamp will be included. Default is 0.
- name: include_all_metadata
in: query
type: boolean
description: Return all metadata associated with messages.
- name: conversations.info
path: /conversations.info
operations:
- name: conversationsinfo
method: GET
description: Slack Get Information About a Channel
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: channel
in: query
type: string
description: The conversation ID to get info on.
required: true
- name: include_locale
in: query
type: boolean
description: Set to true to receive the locale for this conversation.
- name: include_num_members
in: query
type: boolean
description: Set to true to include the member count.
- name: conversations.invite
path: /conversations.invite
operations:
- name: conversationsinvite
method: POST
description: Slack Invite Users to a Channel
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.join
path: /conversations.join
operations:
- name: conversationsjoin
method: POST
description: Slack Join an Existing Conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.leave
path: /conversations.leave
operations:
- name: conversationsleave
method: POST
description: Slack Leave a Conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.list
path: /conversations.list
operations:
- name: conversationslist
method: GET
description: Slack List All Channels
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: Paginate through collections by setting the cursor parameter to a next_cursor attribute returned by
a previous request.
- name: exclude_archived
in: query
type: boolean
description: Set to true to exclude archived channels from the list.
- name: limit
in: query
type: integer
description: The maximum number of items to return. Fewer than the requested number of items may be returned, even
if the end of the list hasn't been reached. Maximum of 100
- name: team_id
in: query
type: string
description: Required for org-wide app tokens. A single team ID to list channels in.
- name: types
in: query
type: string
description: 'Mix and match channel types by providing a comma-separated list. Options: public_channel, private_channel,
mpim, im.'
- name: conversations.members
path: /conversations.members
operations:
- name: conversationsmembers
method: GET
description: Slack List Members of a Conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: channel
in: query
type: string
description: ID of the conversation to retrieve members for.
required: true
- name: cursor
in: query
type: string
- name: limit
in: query
type: integer
- name: conversations.rename
path: /conversations.rename
operations:
- name: conversationsrename
method: POST
description: Slack Rename a Conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.replies
path: /conversations.replies
operations:
- name: conversationsreplies
method: GET
description: Slack Retrieve a Thread of Messages
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: channel
in: query
type: string
required: true
- name: ts
in: query
type: string
description: Unique identifier of the parent message. This is the ts value of the parent message.
required: true
- name: cursor
in: query
type: string
- name: inclusive
in: query
type: boolean
- name: latest
in: query
type: string
- name: limit
in: query
type: integer
- name: oldest
in: query
type: string
- name: conversations.setPurpose
path: /conversations.setPurpose
operations:
- name: conversationssetpurpose
method: POST
description: Slack Set the Purpose of a Conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.setTopic
path: /conversations.setTopic
operations:
- name: conversationssettopic
method: POST
description: Slack Set the Topic of a Conversation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: conversations.unarchive
path: /conversations.unarchive
operations:
- name: conversationsunarchive
method: POST
description: Slack Unarchive a Channel
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: bearer
token: '{{env.SLACK_API_KEY}}'
exposes:
- type: rest
namespace: web-conversations-rest
port: 8080
description: REST adapter for Slack Web API — Conversations. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/conversations-archive
name: conversations-archive
description: REST surface for conversations.archive.
operations:
- method: POST
name: conversationsarchive
description: Slack Archive a Channel
call: web-conversations.conversationsarchive
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-create
name: conversations-create
description: REST surface for conversations.create.
operations:
- method: POST
name: conversationscreate
description: Slack Create a Channel
call: web-conversations.conversationscreate
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-history
name: conversations-history
description: REST surface for conversations.history.
operations:
- method: GET
name: conversationshistory
description: Slack Fetch Message History
call: web-conversations.conversationshistory
with:
channel: rest.channel
cursor: rest.cursor
inclusive: rest.inclusive
latest: rest.latest
limit: rest.limit
oldest: rest.oldest
include_all_metadata: rest.include_all_metadata
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-info
name: conversations-info
description: REST surface for conversations.info.
operations:
- method: GET
name: conversationsinfo
description: Slack Get Information About a Channel
call: web-conversations.conversationsinfo
with:
channel: rest.channel
include_locale: rest.include_locale
include_num_members: rest.include_num_members
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-invite
name: conversations-invite
description: REST surface for conversations.invite.
operations:
- method: POST
name: conversationsinvite
description: Slack Invite Users to a Channel
call: web-conversations.conversationsinvite
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-join
name: conversations-join
description: REST surface for conversations.join.
operations:
- method: POST
name: conversationsjoin
description: Slack Join an Existing Conversation
call: web-conversations.conversationsjoin
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-leave
name: conversations-leave
description: REST surface for conversations.leave.
operations:
- method: POST
name: conversationsleave
description: Slack Leave a Conversation
call: web-conversations.conversationsleave
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-list
name: conversations-list
description: REST surface for conversations.list.
operations:
- method: GET
name: conversationslist
description: Slack List All Channels
call: web-conversations.conversationslist
with:
cursor: rest.cursor
exclude_archived: rest.exclude_archived
limit: rest.limit
team_id: rest.team_id
types: rest.types
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-members
name: conversations-members
description: REST surface for conversations.members.
operations:
- method: GET
name: conversationsmembers
description: Slack List Members of a Conversation
call: web-conversations.conversationsmembers
with:
channel: rest.channel
cursor: rest.cursor
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-rename
name: conversations-rename
description: REST surface for conversations.rename.
operations:
- method: POST
name: conversationsrename
description: Slack Rename a Conversation
call: web-conversations.conversationsrename
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-replies
name: conversations-replies
description: REST surface for conversations.replies.
operations:
- method: GET
name: conversationsreplies
description: Slack Retrieve a Thread of Messages
call: web-conversations.conversationsreplies
with:
channel: rest.channel
ts: rest.ts
cursor: rest.cursor
inclusive: rest.inclusive
latest: rest.latest
limit: rest.limit
oldest: rest.oldest
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-setpurpose
name: conversations-setpurpose
description: REST surface for conversations.setPurpose.
operations:
- method: POST
name: conversationssetpurpose
description: Slack Set the Purpose of a Conversation
call: web-conversations.conversationssetpurpose
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-settopic
name: conversations-settopic
description: REST surface for conversations.setTopic.
operations:
- method: POST
name: conversationssettopic
description: Slack Set the Topic of a Conversation
call: web-conversations.conversationssettopic
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/conversations-unarchive
name: conversations-unarchive
description: REST surface for conversations.unarchive.
operations:
- method: POST
name: conversationsunarchive
description: Slack Unarchive a Channel
call: web-conversations.conversationsunarchive
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: web-conversations-mcp
port: 9090
transport: http
description: MCP adapter for Slack Web API — Conversations. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: slack-archive-channel
description: Slack Archive a Channel
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationsarchive
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-create-channel
description: Slack Create a Channel
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationscreate
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-fetch-message-history
description: Slack Fetch Message History
hints:
readOnly: true
destructive: false
idempotent: true
call: web-conversations.conversationshistory
with:
channel: tools.channel
cursor: tools.cursor
inclusive: tools.inclusive
latest: tools.latest
limit: tools.limit
oldest: tools.oldest
include_all_metadata: tools.include_all_metadata
outputParameters:
- type: object
mapping: $.
- name: slack-get-information-about-channel
description: Slack Get Information About a Channel
hints:
readOnly: true
destructive: false
idempotent: true
call: web-conversations.conversationsinfo
with:
channel: tools.channel
include_locale: tools.include_locale
include_num_members: tools.include_num_members
outputParameters:
- type: object
mapping: $.
- name: slack-invite-users-channel
description: Slack Invite Users to a Channel
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationsinvite
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-join-existing-conversation
description: Slack Join an Existing Conversation
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationsjoin
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-leave-conversation
description: Slack Leave a Conversation
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationsleave
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-list-all-channels
description: Slack List All Channels
hints:
readOnly: true
destructive: false
idempotent: true
call: web-conversations.conversationslist
with:
cursor: tools.cursor
exclude_archived: tools.exclude_archived
limit: tools.limit
team_id: tools.team_id
types: tools.types
outputParameters:
- type: object
mapping: $.
- name: slack-list-members-conversation
description: Slack List Members of a Conversation
hints:
readOnly: true
destructive: false
idempotent: true
call: web-conversations.conversationsmembers
with:
channel: tools.channel
cursor: tools.cursor
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: slack-rename-conversation
description: Slack Rename a Conversation
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationsrename
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-retrieve-thread-messages
description: Slack Retrieve a Thread of Messages
hints:
readOnly: true
destructive: false
idempotent: true
call: web-conversations.conversationsreplies
with:
channel: tools.channel
ts: tools.ts
cursor: tools.cursor
inclusive: tools.inclusive
latest: tools.latest
limit: tools.limit
oldest: tools.oldest
outputParameters:
- type: object
mapping: $.
- name: slack-set-purpose-conversation
description: Slack Set the Purpose of a Conversation
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationssetpurpose
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-set-topic-conversation
description: Slack Set the Topic of a Conversation
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationssettopic
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: slack-unarchive-channel
description: Slack Unarchive a Channel
hints:
readOnly: false
destructive: false
idempotent: false
call: web-conversations.conversationsunarchive
with:
body: tools.body
outputParameters:
- type: object
mapping: $.