Skip to main content

Slack developer docs

Build an app with a coding agent

Agents, apps, and integrations for the place where work happens. Pick how you like to build and have something running in Slack in minutes.

How you build

A coding agent

  1. Give your coding agent Slack skills

    One install adds the Slack developer skills, plus the Slack MCP server in Claude Code and Cursor.

    Coding agent
    /plugin install slack@claude-plugins-official

    Run inside a Claude Code session.

  2. Tell it what to build

    Pick a starting idea or write your own, then copy it into your agent.

    Starting idea
    Language
  3. Chat with your agent in Slack

    Your coding agent scaffolds the project with the Slack CLI, starts it with slack run, and you can message your new agent right away.

    How the skills plugin works 
Every path ends here: your agent, live in Slack.

Slack MCP server and developer skills

Connect your AI tools to Slack

Give Claude, Cursor, Codex, and other agents secure access to your workspace to search, read, and post. Add developer skills so they know how to build on Slack.

Server URL https://mcp.slack.com/mcp

Remote MCP over HTTP with OAuth. Your workspace admin may need to approve it. No approval yet? Try it in a free Developer Program sandbox.

Your AI tool
Showing Claude Code setup

Claude Code

MCP server + skills in one step

Run in a Claude Code session. You will be asked to sign in to Slack.

/plugin install slack@claude-plugins-official
Connect to Claude 

Only the MCP server

From your terminal. Then run /mcp in Claude Code to finish signing in.

claude mcp add --transport http --scope local slack https://mcp.slack.com/mcp
Manual setup 
Then check it works. Ask your agent: Using Slack, summarize what my team discussed in #general this week.

Slack MCP server your agent → Slack

Your AI tool works in Slack: search messages and files, read channels and threads, send messages, and manage canvases and lists.

Server overview 

Slackbot MCP client Slack → your server

Have your own MCP server? Connect it to Slack and Slackbot calls its tools in conversation.

Bring your server 

For admins

MCP connections go through the standard Slack app approval process, so admins stay in control of what connects.

App approvals 

Find your path

What brings you here?

Examples of how to use these docs. Pick yours and skip the rest.

Connect my AI tools

“I just need the Slack MCP server in my agent.”

One-step setup 

Build an agent or app

“I want to build an app that does something specific.”

Choose how you build 

Start from a template

“Skip the setup. Give me something that works.”

Browse templates 

Integrate a service

“I need Sentry (or Stripe, or Render) in Slack.”

Get a webhook 

Find a page

“I know what I need. Take me there.”

Jump to the directory 

Not sure where to start? Build your first agent with your coding agent, the Slack CLI, or App Settings.

Templates

Skip to the finish line

Working apps you can configure, deploy, and forget. Start one from the CLI, open the code yourself, or hand it to your coding agent.

Filter templates
8 templates
  • Agents
  • Python
  • JavaScript

Support Agent (Casey)

An IT helpdesk agent that works in App Home, DMs, and @mentions. Comes in Claude Agent SDK, OpenAI Agents SDK, and Pydantic AI versions.

slack create agent
Code for Support Agent (Casey) (opens in new tab)Tutorial for Support Agent (Casey)
  • Agents
  • Python
  • JavaScript

Starter Agent

A minimal agent to make your own, with the Messages tab and your choice of agent framework.

slack create my-starter-agent --template slack-samples/bolt-python-starter-agent
Code for Starter Agent (opens in new tab)
  • Agents
  • MCP
  • JavaScript

Agent that uses the Slack MCP server

An agent that calls the Slack MCP server to search, read, and post with the user's permissions.

git clone https://github.com/slack-samples/bolt-js-slack-mcp-server.git
Code for Agent that uses the Slack MCP server (opens in new tab)
  • Notifications
  • Incoming webhook

Alerts to a channel

Post alerts from any tool to a channel with an incoming webhook. One scope, no code, done in about a minute.

Create in 1 click for Alerts to a channel (opens in new tab)Tutorial for Alerts to a channel
  • Notifications
  • GitHub Action

Build and deploy updates

Post CI results, deploys, and releases from any GitHub Actions workflow.

uses: slackapi/slack-github-action@v4.0.0
Code for Build and deploy updates (opens in new tab)Tutorial for Build and deploy updates
  • Workflows
  • Deno Slack SDK
  • Run on Slack

GitHub issues from Slack

Create and update GitHub issues from workflows, hosted by Slack with slack deploy. Nothing to run yourself.

slack create my-github-app -t slack-samples/deno-github-functions
Code for GitHub issues from Slack (opens in new tab)Tutorial for GitHub issues from Slack
  • Workflows
  • Python
  • JavaScript

Custom step for Workflow Builder

Write your own step once, then anyone can use it in no-code workflows.

slack create my-step -t slack-samples/bolt-python-custom-step-template
Code for Custom step for Workflow Builder (opens in new tab)
  • Workflows
  • Deno Slack SDK
  • Run on Slack

Announcement bot

Preview, post, and manage announcements sent to one or more channels.

slack create my-announcements -t slack-samples/deno-announcement-bot
Code for Announcement bot (opens in new tab)

Integrate

Send anything to Slack

Sent here from another product? Get a working connection in about a minute. No scopes, events, or tokens to learn.

Services

Any webhook

Webhook URL in about a minute

Best when your tool has a field for a Slack webhook URL.

Create the webhook app (opens in new tab)

  1. Choose Install to Workspace and pick a channel.
  2. Copy the URL under Incoming Webhooks.
  3. Paste it into your tool.
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Hello from my app"}' \
YOUR_WEBHOOK_URL
What gets created
{
"display_information": {
"name": "Webhook alerts",
"description": "Posts Webhook notifications to a Slack channel."
},
"features": {
"bot_user": {
"display_name": "Webhook alerts",
"always_online": false
}
},
"oauth_config": {
"scopes": {
"bot": [
"incoming-webhook"
]
}
},
"settings": {
"incoming_webhooks": {
"incoming_webhooks_enabled": true
},
"org_deploy_enabled": false,
"socket_mode_enabled": false,
"token_rotation_enabled": false
}
}

Sending your own JSON?

Start a workflow from a webhook, map the fields you send, and post a formatted message. Needs a paid plan and a flat JSON payload.

Workflow webhooks (opens in new tab)

Build it as an app

Need buttons, threads, or replies? Post with chat.postMessage from a Bolt app.

chat.postMessage 

Directory

Jump straight to the docs

For developers and partners already building. Everything in one place.

Docs your agent can read

Point your coding agent at these and it will find the right page on its own.

Start with llms.txt

https://docs.slack.dev/llms.txt

Any page as Markdown

https://docs.slack.dev/ai/agent-quickstart.md

Search from the terminal

slack docs search "block kit"

Need help?