Observed since 20 Oct, 19:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A Python adapter for integrating Google Agent Development Kit (ADK) agents with Slack
A Python library for integrating Google Agent Development Kit (ADK) agents with Slack through Socket Mode. This adapter enables seamless communication between your ADK-powered AI agents and Slack workspaces.
Install from PyPI:
pip install adk-slack-adapter
Or with uv:
uv add adk-slack-adapter
Create a Slack app with the following settings:
chat:write, channels:read, groups:read, im:read, mpim:readmessage.channels, message.groups, message.im, message.mpim, app_mentionSet the required environment variables:
export SLACK_BOT_TOKEN="xoxb-your-bot-token"
export SLACK_APP_TOKEN="xapp-your-app-token"
export SLACK_BOT_USER_ID="U01234567"
export ADK_APP_NAME="my-adk-agent" # optional
export LOGGING_LEVEL="INFO" # optional
import asyncio
from google.adk.agents import Agent
from adk_slack_adapter import AdkSlackAppRunner
# Create your ADK agent
agent = Agent(
# Your agent configuration
)
# Create and start the Slack adapter
async def main():
runner = AdkSlackAppRunner(agent_instance=agent)
await runner.start()
if __name__ == "__main__":
asyncio.run(main())
from adk_slack_adapter import AdkSlackAppRunner, AdkSlackConfig
# Custom configuration
config = AdkSlackConfig(
slack_bot_token="xoxb-your-token",
slack_app_token="xapp-your-token",
slack_bot_user_id="U01234567",
adk_app_name="my-custom-agent",
logging_level="DEBUG"
)
runner = AdkSlackAppRunner(
agent_instance=agent,
config=config
)
The adapter follows a layered architecture:
slack_{user_id}_{thread_id}The adapter intelligently handles different types of Slack events:
# Clone the repository
git clone https://github.com/ktagashira/adk-slack-adapter.git
cd adk-slack-adapter
# Install dependencies
uv sync
# Install development dependencies
uv sync --group dev
uv run pytest
# Format code
uv run black .
uv run isort .
# Lint code
uv run ruff check .
# Type checking
uv run mypy .
This version requires Google ADK 2.x. The adapter continues to use ADK's public
Agent, App, Runner, in-memory session, and artifact service APIs, so no
adapter configuration changes are required. Applications using other ADK APIs
should review the Google ADK 2.0 release notes before upgrading.
Conversation identity remains unchanged: each Slack thread uses a session ID in
the form slack_{user_id}_{thread_id}.
By default, sessions and artifacts are stored in memory and are lost when the
process restarts. Production applications can pass ADK-compatible persistent
services to AdkSlackAppRunner:
runner = AdkSlackAppRunner(
agent_instance=agent,
session_service=my_session_service,
artifact_service=my_artifact_service,
)
Contributions are welcome! Please feel free to submit a Pull Request.
For questions and support:
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.0 | 3 Sept 2026 | 12 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 19:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:f4207e51446f78f9775ec1d1a7aa56283b42e3ae9d7186b6f7a821ba6de8390b