> ## Documentation Index
> Fetch the complete documentation index at: https://docs.amplify.security/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack

> Agents post messages, reply in threads, react, and read channel history — as a bot account you own.

## What it's for

Telling people what an agent found, where they already are. A workflow's last step posts a run summary to a
channel; a chat agent replies in the thread where someone asked about a finding; a triage agent reads the
last day of `#security` to see what's already been discussed.

## How agents appear in Slack

Slack grants Amplify a **user token** for the bot account, not a bot-app token. That has two consequences:

* Messages and reactions appear as the bot account — its name and avatar — not as an app.
* Agents can only read channels and conversations the bot account is a **member** of. Invite it to a channel
  and agents can read and post there; leave it out and that channel doesn't exist as far as agents are
  concerned.

## Before you connect

1. Create the bot Slack account in your workspace and set its display name and avatar. See
   [the bot account](/integrations/connecting#the-bot-account).
2. Invite it to every channel agents should read or post in. It sees nothing else.
3. If your workspace requires admin approval for apps, the connect flow pauses on a Slack approval request.
   A Slack admin can approve it from **Admin → Apps → Requests to install**, or pre-approve ahead of time
   with an app-approval rule for app ID `A0C28V9SYJK` (Amplify Console). Amplify Console isn't listed in
   the Slack Marketplace, so there is no Marketplace page to send them.
4. Sign your browser into the bot account, then follow [the connect flow](/integrations/connecting#connecting).

The authorization screen asks for these user scopes: read public and private channels, direct messages, and
group messages the account belongs to; send messages; add reactions; and read user profiles.

## What agents can do

| Tool | What it does |
| - | - |
| `Slack_WhoAmI` | Returns the bot account's own profile and workspace details. |
| `Slack_ListUsers` | Lists the users in the workspace. |
| `Slack_GetUsersInfo` | Looks up users by id, username, or email. |
| `Slack_ListConversations` | Lists the channels, direct messages, and group messages the bot account is a member of. |
| `Slack_GetConversationMetadata` | Returns a channel's or conversation's details. |
| `Slack_GetUsersInConversation` | Lists the members of a channel or conversation. |
| `Slack_GetMessages` | Reads messages from a channel or conversation, optionally within a time window. |
| `Slack_GetThreadMessages` | Reads the replies in a thread. |
| `SlackApi_SendSlackMessage` | Posts a message to a channel or conversation, optionally as a thread reply. Supports Markdown and Block Kit formatting. |
| `SlackApi_AddSlackReaction` | Adds an emoji reaction to a message. |
| `SlackApi_GetSlackMessagePermalink` | Returns a permanent link to a message. |

Agents are instructed to post only where they were asked, to reply in a finding's existing thread rather
than starting a new top-level message, to end each post with a note that it was generated by an Amplify
Console agent, and never to direct-message anyone who didn't ask. History reads are for conversations you
ask about, not for sweeping channels.

## What agents can't do

* Delete or edit messages, or remove reactions
* Create channels, invite or remove members, or change any workspace or channel setting
* Read a channel the bot account isn't in
* Post as an app, with a custom name or avatar per message
* Receive events or respond to mentions on their own — agents act only inside a run or chat turn

## Example

A summary step at the end of a workflow:

```markdown theme={null}
---
name: slack-run-summary
description: Posts one message to #security-reports summarizing a workflow run's confirmed findings, or reporting that there were none.
allowed-tools:
  - list_findings
  - Slack_ListConversations
  - SlackApi_SendSlackMessage
consumes:
  - kind: amplify:finding
    mode: all
---

Post exactly one message to #security-reports. Lead with the count of findings
by severity, then one line per finding with its title and a link. If there are
none, say so in one line. Do not post anywhere else.
```

See [using integration tools in an agent](/integrations/using-in-agents#adding-a-delivery-step-to-a-workflow) for
where this fits in a chain.

## Revoking fully

Disconnecting in Console deletes Amplify's stored authorization. To remove Slack's side of the grant too,
open the bot account's Slack settings and go to **Manage apps → Amplify Console → Remove**.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.