Slack
Connect Slack to your Appstrate agents.
Overview
Slack is a team messaging platform. The integration lets agents read channels, post messages and work with files and reactions.
Integration: @appstrate/slack (version 1.0.5), reached through the api_call tool. For how this works, see How integrations work.
Authentication
| Property | Value |
|---|---|
| Type | oauth2 |
| Credential sent as | Authorization: Bearer <credential> |
| Default scopes | channels:read, users:read |
| Token endpoint auth | client_secret_post |
Scopes
The scopes below are the catalogue the integration declares. An agent gets the default scopes plus any it lists under scopes in its integrations_configuration.
| Scope | Description | Default |
|---|---|---|
channels:read | View channels | yes |
channels:history | View channel messages | |
chat:write | Send messages | |
users:read | View users | yes |
users:read.email | View user emails | |
files:read | View files | |
files:write | Upload files | |
reactions:read | View reactions | |
reactions:write | Add reactions |
Authorized URIs
The sidecar sends the credential only to URLs that match one of these patterns:
https://slack.com/api/**
Connect Slack
An administrator registers an OAuth client once, then members connect their own accounts.
Create a Slack app (open).
Under OAuth & Permissions, add the scopes your agents need.
Register the redirect URI under the app's OAuth redirect URLs: it is APP_URL followed by /api/integrations/callback, also shown in the integration's setup panel.
In Appstrate, open the integration and register the OAuth client (client ID and client secret). See How integrations work.
Use it in an agent
Excerpt of the agent manifest:
{
"dependencies": {
"integrations": { "@appstrate/slack": "^1.0.0" }
},
"integrations_configuration": {
"@appstrate/slack": {
"tools": ["api_call"],
"scopes": ["channels:history", "chat:write"]
}
}
}api_call has no per-tool scopes, so scopes beyond the defaults are listed explicitly (here channels:history, chat:write).
Example prompt:
Every Friday at 5pm, read the week's messages in #project-alpha, summarize the decisions and open action items, and post the summary to #weekly-recap.