Slack Conversations API

The Conversations API from Slack — 36 operation(s) for conversations.

Operations 18

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /conversations.create Create a new channel · Slack Post Conversations Create #
Ask an LLM
“How do I create a new Slack channel from code?”
“Can I make the new channel private instead of public?”
Tell an agent
Create a public channel named {name}.
Create channel {name} with private set to {is_private}.
GET /conversations.history Read a channel's message history · Slack Get Conversations History #
Ask an LLM
“What messages were posted in a channel over the last few days?”
“Can I fetch only messages between two timestamps?”
Tell an agent
Get the latest message history for channel {channel}.
Fetch messages in {channel} posted between {oldest} and {latest}.
GET /conversations.info Get details about a channel · Slack Get Conversations Info #
Ask an LLM
“What are the settings and topic of a particular channel?”
“Can I get a channel's member count along with its details?”
Tell an agent
Show details for channel {channel}.
Get info on {channel} including how many members it has.
POST /conversations.invite Invite users to a channel · Slack Post Conversations Invite #
Ask an LLM
“How do I add several teammates to a channel at once?”
“Can I invite people into a private channel through the API?”
Tell an agent
Invite users {users} to channel {channel}.
Add {users} as members of {channel}.
POST /conversations.join Join an existing channel · Slack Post Conversations Join #
Ask an LLM
“Can my app join a public channel on its own?”
“What happens if my bot tries to join a channel it is already in?”
Tell an agent
Join channel {channel}.
Have me become a member of {channel} myself.
POST /conversations.kick Remove a user from a channel · Slack Post Conversations Kick #
Ask an LLM
“How do I remove someone from a channel?”
“Can an admin kick a specific member out of a private channel?”
Tell an agent destructive · confirm first
Remove user {user} from channel {channel}.
Kick {user} out of {channel}.
POST /conversations.leave Leave a channel · Slack Post Conversations Leave #
Ask an LLM
“Can my bot leave a channel it no longer needs to be in?”
“What is the call to take myself out of a conversation?”
Tell an agent
Leave channel {channel}.
Take me out of {channel}.
GET /conversations.list List channels in the workspace · Slack Get Conversations List #
Ask an LLM
“What channels exist in our workspace?”
“Can I list only private channels and skip archived ones?”
Tell an agent
List all channels in the workspace.
List workspace channels of type {types}, excluding archived ones.
POST /conversations.mark Set the read cursor in a channel · Slack Post Conversations Mark #
Ask an LLM
“How do I mark a channel as read up to a certain message?”
“Can I move the read marker back to make older messages unread?”
Tell an agent
Mark channel {channel} as read up to message {ts}.
Move the read cursor in {channel} to timestamp {ts}.
GET /conversations.members List the members of a channel · Slack Get Conversations Members #
Ask an LLM
“Who is in a particular channel?”
“Is the channel member list paginated for large channels?”
Tell an agent
List the members of channel {channel}.
Get the next {limit} members of {channel} after cursor {cursor}.
POST /conversations.open Open a direct or group direct message · Slack Post Conversations Open #
Ask an LLM
“How do I start a DM with a user so my bot can message them privately?”
“Can I open a group DM with several people at once?”
Tell an agent
Open a direct message with users {users}.
Resume the existing DM {channel} and return its full details.
POST /conversations.rename Rename a channel · Slack Post Conversations Rename #
Ask an LLM
“Can I change a channel's name after it has been created?”
“What are the rules for renaming a channel through the API?”
Tell an agent
Rename channel {channel} to {name}.
Change the name of {channel} to {name}.
GET /conversations.replies Read the replies in a message thread · Slack Get Conversations Replies #
Ask an LLM
“How do I get all the replies in a thread?”
“Can I fetch only thread replies posted after a certain time?”
Tell an agent
Get the thread replies to message {ts} in {channel}.
Show replies in the thread {ts} of {channel} newer than {oldest}.
POST /conversations.setPurpose Set a channel's purpose · Slack Post Conversations Setpurpose #
Ask an LLM
“Can I update the purpose description of a channel?”
“Where does a channel's purpose show up versus its topic?”
Tell an agent
Set the purpose of {channel} to {purpose}.
Change channel {channel}'s description of purpose to {purpose}.
POST /conversations.setTopic Set a channel's topic · Slack Post Conversations Settopic #
Ask an LLM
“How do I change the topic shown at the top of a channel?”
“Can a bot update a channel topic automatically, like an on-call rotation?”
Tell an agent
Set the topic of {channel} to {topic}.
Update channel {channel}'s header topic to read {topic}.
POST /conversations.unarchive Unarchive a channel · Slack Post Conversations Unarchive #
Ask an LLM
“Can I bring back a channel that was archived?”
“What does it take to restore an archived conversation?”
Tell an agent
Unarchive channel {channel}.
Restore the archived conversation {channel}.
GET /users.conversations List the channels a user belongs to · Slack Get Users Conversations #
Ask an LLM
“Which channels is a particular user a member of?”
“Can I list only the private channels and DMs I have access to?”
Tell an agent
List the channels user {user} belongs to.
Show my conversations of type {types}, excluding archived ones.
POST /conversations.archive Archive a channel · Slack Archive a Channel #
Ask an LLM
“How do I archive a channel that is no longer used?”
“What scope does my app need to archive a conversation?”
Tell an agent destructive · confirm first
Archive channel {channel}.
Close out the unused channel {channel} by archiving it.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/slack-conversations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

slack-conversations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Slack Conversations API
  version: '1.0'
  description: 'Operations tagged Conversations across 3 of this provider''s published API definitions: slack-conversations-openapi.yml, slack-users-openapi.yml, slack-web-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://slack.com/api
  description: Slack Web API production server
tags:


# --- truncated at 32 KB (102 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-conversations-api-openapi.yml