Skip to main content
Slack is where your team already gets work done. Put your agent in the same place and it picks up all that context, joining conversations, remembering what was said, and replying like a teammate who has been following along.
The Slack interface solves the problems that appear when an agent moves from a script into a shared workspace:
  1. Context management: History, memory, and user identity tracked across threads and DMs
  2. File handling: Uploads and downloads work out of the box
  3. Human in the loop: Pause for approvals before sensitive actions
  4. Streaming: Responses stream live with task cards showing progress

Quick start

agent.py
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.os.app import AgentOS
from agno.os.interfaces.slack import Slack

agent = Agent(name="Support Bot", model=OpenAIResponses(id="gpt-5.4"))

agent_os = AgentOS(
    agents=[agent],
    interfaces=[Slack(agent=agent)],
)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="agent:app", reload=True)
1

Create Slack App

Follow the setup guide to create your app and get credentials.
2

Set credentials

export SLACK_TOKEN="xoxb-..."
export SLACK_SIGNING_SECRET="..."
3

Run

python agent.py

Multiple bots

Run multiple agents on the same server, each with its own Slack App. Useful when you need separate bots for different functions (support vs. sales) or different workspaces.
multi_bot.py
agent_os = AgentOS(
    agents=[ace_agent, dash_agent],
    interfaces=[
        Slack(
            agent=ace_agent,
            prefix="/ace",
            token=getenv("ACE_SLACK_TOKEN"),
            signing_secret=getenv("ACE_SLACK_SIGNING_SECRET"),
        ),
        Slack(
            agent=dash_agent,
            prefix="/dash",
            token=getenv("DASH_SLACK_TOKEN"),
            signing_secret=getenv("DASH_SLACK_SIGNING_SECRET"),
        ),
    ],
)
Each interface mounts on its own prefix. Set each Slack App’s Request URL accordingly (/ace/events, /dash/events, etc.).

Next steps

Setup Guide

Create a Slack App from scratch

Features

Sessions, files, teams, and more

Human-in-the-Loop

Pause for approval before actions

Reference

All parameters and endpoints