Create slack runner integration page #1521 - 4 - #2035
Conversation
Adds the official integration documentation for `SlackRunner`. - Created `docs/integrations/slack.md` following the Plugin template. - Added Socket Mode installation and initialization instructions (`google-adk[slack]`). - Checked against the integration-review and integration-create instructions.
✅ Deploy Preview for adk-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Technical Verification Against
|
| import os | ||
| from google.adk.agents import Agent | ||
| from google.adk.runners import Runner | ||
| from google.adk.integrations.slack import SlackRunner |
There was a problem hiding this comment.
add:
from google.adk.sessions import InMemorySessionService
| runner = Runner( | ||
| app_name="slack_agent", | ||
| agent=root_agent, | ||
| session_service=InMemorySessionService(), |
There was a problem hiding this comment.
add:
auto_create_session=True,
| instruction="You are a helpful team assistant running on Slack.", | ||
| ) | ||
|
|
||
| #Wire it up to Slack over Socket Mode |
There was a problem hiding this comment.
add space to conform to comment syntax:
# Wire it...
|
|
||
| <div class="language-support-tag"><span class="lst-supported">Supported in ADK</span><span class="lst-python">Python</span></div> | ||
|
|
||
| ADK provides the `SlackRunner` class to easily deploy your agents directly on Slack using [Socket Mode](https://api.slack.com/apis/connections/socket). This integration acts as an adapter that handles event listening, response dispatching, and automated conversation thread management. |
There was a problem hiding this comment.
to easily deploy --> to allow you to deploy
Avoid using descriptors like "easily"; just the facts.
|
|
||
| ## Prerequisites | ||
|
|
||
| - A Slack App configured in your [Slack API Dashboard](https://api.slack.com/apps). You must sign in to your Slack account first. |
There was a problem hiding this comment.
Remove "A " pre-amble from each of these bullets: not necessary
- Slack App...
- **Bot User...
- **Websocket...
joefernandez
left a comment
There was a problem hiding this comment.
Approved with comments.
| - A **Websocket App-Level Token** (`xapp-...`) with the `connections:write` scope. | ||
|
|
||
| ## Installation | ||
|
|
There was a problem hiding this comment.
add intro sentence explaining what this command does
| ``` | ||
|
|
||
| ## Use with agent | ||
|
|
There was a problem hiding this comment.
add intro sentence explaining what this code example does
| --- | ||
| catalog_title: Slack | ||
| catalog_description: Deploy ADK agents directly to Slack using Socket Mode. | ||
| catalog_icon: /integrations/assets/slack-runner.png |
There was a problem hiding this comment.
This should be slack.png to be consistent with #2036 and other integration logo filenames.
| catalog_icon: /integrations/assets/slack-runner.png | |
| catalog_icon: /integrations/assets/slack.png |
| @@ -0,0 +1,71 @@ | |||
| --- | |||
| catalog_title: Slack | |||
| catalog_description: Deploy ADK agents directly to Slack using Socket Mode. | |||
There was a problem hiding this comment.
No period at the end of card descriptions. Also this description should be improved to be more technically accurate and describe to users what functionality it enables, something like the suggested description:
| catalog_description: Deploy ADK agents directly to Slack using Socket Mode. | |
| catalog_description: Run agents as bots that reply to mentions, DMs, and threads |
| catalog_title: Slack | ||
| catalog_description: Deploy ADK agents directly to Slack using Socket Mode. | ||
| catalog_icon: /integrations/assets/slack-runner.png | ||
| catalog_tags: ["runner", "slack"] |
There was a problem hiding this comment.
These are not valid catalog tags to add, they will create arbitrary single-item categories, consider running the integration review skill to see if it recommends existing catalog tags or no catalog tabs.
| ## Available tools | ||
|
|
||
| Tool | Description | ||
| ------ | ----------- | ||
| `__init__(runner, slack_app)` | Starts the Slack runner adapter with an ADK `Runner` and a Slack `AsyncApp`. | ||
| `start(app_token)` | Starts the Slack runner listener in Socket Mode using your app-level websocket token. |
There was a problem hiding this comment.
These are adapter methods, not agent-callable tools. Every other ## Available tools table documents tools the agent invokes, usually for MCP tools whereas this is a different type of integration. Suggest removing this section since both methods already appear in the code above.
Rendered> https://deploy-preview-2035--adk-docs-preview.netlify.app/integrations/slack/
Pull request to upload Slack logo> #2036
PR> #1524
Original Issue> #1521
Adds the official integration documentation for
SlackRunner.docs/integrations/slack.mdfollowing the Plugin template.google-adk[slack]).