Skip to main content
Use the Slack interface to serve Agents, Teams, or Workflows on Slack. It mounts Slack event routes on a FastAPI app and sends responses back to Slack threads.

Setup Steps

Follow the Slack setup guide in the cookbook. Required configuration:
  • SLACK_TOKEN (Bot User OAuth Token)
  • SLACK_SIGNING_SECRET (App Signing Secret)
  • An ngrok tunnel (for local development) and event subscriptions pointing to /slack/events

Example Usage

Create an agent, expose it with the Slack interface, and serve via AgentOS:
basic.py
A complete example is available at cookbook/06_agent_os/interfaces/slack/basic.py.

Core Components

  • Slack (interface): Wraps an Agno Agent, Team, or Workflow for Slack integration via FastAPI.
  • AgentOS.serve: Serves the FastAPI app using Uvicorn.

Slack Interface

Main entry point for Agno Slack applications.

Initialization Parameters

Provide agent, team, or workflow.

Key Method

Endpoints

Mounted under the /slack prefix:

POST /slack/events

  • Handles all Slack events (URL verification, messages, app mentions)
  • Verifies Slack signature on each request
  • Uses thread timestamps as session IDs for per-thread context
  • Streams responses back into the originating thread (splits long messages)

Testing the Integration

  1. Run the app locally: python <my-app>.py (ensure ngrok is running)
  2. Invite the bot to a channel: /invite @YourAppName
  3. Mention the bot in a channel: @YourAppName hello
  4. Open a DM with the bot and send a message

Troubleshooting

  • Verify SLACK_TOKEN and SLACK_SIGNING_SECRET are set
  • Confirm the bot is installed and invited to the channel
  • Check ngrok URL and event subscription path (/slack/events)
  • Review application logs for signature failures or permission errors