A minimal starter template for building AI-powered Slack agents with Bolt for Python. Works with the Slack MCP Server to search messages, read channels, send messages, and manage canvases — all from within your agent. Includes one example tool (emoji reactions), giving you a clean foundation to build on.
This repo contains the same app built with three different AI agent frameworks. Pick the one that fits your stack:
| App | Directory | Get Started | Framework |
|---|---|---|---|
| Claude Agent SDK | claude-agent-sdk/ |
View README | claude-agent-sdk |
| OpenAI Agents SDK | openai-agents-sdk/ |
View README | openai-agents |
| Pydantic AI | pydantic-ai/ |
View README | pydantic-ai |
All implementations share the same Slack listener layer and the same user experience. The only difference is how the agent is defined and executed under the hood.
The starter agent interacts with users through three entry points:
- App Home — Displays a welcome message and Slack MCP Server connection status.
- Direct Messages — Users message the agent directly. It responds in-thread, maintaining context across follow-ups.
- Channel @mentions — Mention the agent in any channel to get a response without leaving the conversation.
When connected to the Slack MCP Server, the agent can search messages and files, read channel history and threads, send and schedule messages, and create and update canvases. The template also includes one example tool (emoji reactions). Add your own tools to customize the agent for your use case.
This repo uses slack-bolt from PyPI.