Pass one of agent, team, or workflow to the Slack constructor.
from agno.os.interfaces.slack import SlackSlack(agent=my_agent, streaming=True, prefix="/slack")
Parameter
Type
Default
Description
agent
Optional[Agent]
None
Agno Agent instance.
team
Optional[Team]
None
Agno Team instance.
workflow
Optional[Workflow]
None
Agno Workflow instance.
prefix
str
"/slack"
URL prefix for Slack endpoints (e.g., /slack means events arrive at /slack/events).
tags
Optional[List[str]]
None
FastAPI route tags for API documentation. Defaults to ["Slack"].
reply_to_mentions_only
bool
True
When True (default), the bot responds to @mentions in channels and all DMs. When False, responds to all channel messages.
token
Optional[str]
None
Bot token. Falls back to SLACK_TOKEN environment variable.
signing_secret
Optional[str]
None
Slack app signing secret. Falls back to SLACK_SIGNING_SECRET environment variable.
streaming
bool
True
Enable real-time streaming with task cards and live text updates.
loading_messages
Optional[List[str]]
None
Status messages shown while the agent processes. Rotated automatically by Slack.
task_display_mode
str
"plan"
How task cards render in the streaming UI. "plan" shows a collapsible plan block.
loading_text
str
"Thinking..."
Status text shown while the agent starts processing.
suggested_prompts
Optional[List[Dict[str, str]]]
None
Prompts shown when a user opens a new thread. Each dict has title and message keys. Defaults to Help and Search prompts.
ssl
Optional[SSLContext]
None
SSL context for the Slack WebClient.
buffer_size
int
100
Characters to buffer before flushing a streaming update.
max_file_size
int
1073741824
Maximum file size in bytes for uploads and downloads (default 1 GB).
resolve_user_identity
bool
False
Look up each user’s email and display name via the Slack users.info API. When enabled, the agent receives the user’s email as user_id instead of their Slack ID, and metadata includes user_name and user_email.