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

# Slack

> Let agents read your Slack workspace and post updates where you allow it

Connect Slack and your agents can work with the conversations your team already has: summarize what happened in a channel, dig an answer out of an old thread, gauge reactions to an announcement — and, with your approval, post updates of their own.

<Note>
  This page is about Slack as a **tool** agents can use. If you want to *talk to* an agent from inside Slack — mention it in a thread and get answers — that's the Slack [channel](/channels). The same connection powers both.
</Note>

## What agents can do

| Capability     | Details                                                                    |
| -------------- | -------------------------------------------------------------------------- |
| List channels  | Find channels by name, including private ones the Leme app was invited to. |
| Read messages  | Recent messages from a channel, DM, or group conversation.                 |
| Read threads   | Full reply chains, so context is never lost.                               |
| Read reactions | Who reacted to a message and with what.                                    |
| Post messages  | Send a message to a channel or thread, as the Leme app.                    |

Reading runs freely by default. Posting is **external communication**: by default the agent may reply in the conversation it was called from, but posting anywhere else asks a human first. See [Permissions](#permissions).

## Try asking

* *"Summarize what happened in #incidents this week."*
* *"What did the team decide about the pricing change? Check #product."*
* *"Find the thread where we discussed the Q3 launch date and give me the conclusion."*
* *"How did people react to yesterday's announcement in #general?"*
* *"Draft a status update and post it to #eng-updates."* — the post waits for approval before going out.

## Connect Slack

<Steps>
  <Step title="Open Integrations">
    In the Leme dashboard, go to **Integrations** and select **Slack**.
  </Step>

  <Step title="Authorize in Slack">
    Select **Connect**. Slack shows its own consent screen listing what the Leme app may do in your workspace. You need permission to install apps in the Slack workspace — some workspaces require a Slack admin's approval.
  </Step>

  <Step title="Enable it on your agents">
    Back in Leme, attach the connection to the agents that should use it, and review **Agent permissions** on the connection.
  </Step>
</Steps>

Slack is a **shared** connection: one authorization serves the whole workspace, and every agent you enable works through the same Leme app in Slack.

## What the agent can see

The agent sees Slack through the Leme app's eyes:

* **Public channels** are visible and readable once the app is in the workspace.
* **Private channels, DMs, and group DMs** are only visible where the Leme app has been explicitly invited. To let an agent read a private channel, invite the app from Slack: `/invite @Leme` in that channel.

If a channel doesn't appear to the agent, membership is almost always the reason.

## Permissions

| Action                                              | Category               | Default                    |
| --------------------------------------------------- | ---------------------- | -------------------------- |
| List channels, read messages, threads, reactions    | Read                   | Allow                      |
| Reply in the conversation the agent was called from | External communication | Allow (built-in exception) |
| Post to any other channel or thread                 | External communication | Ask approval               |

The reply exception exists so an agent working in a Slack thread can answer normally without a permission slip for every message. You can turn it off per connection, making *every* post require approval. Adjust all of this in **Integrations → Slack → Agent permissions** — see [Permissions & approvals](/permissions).

## Troubleshooting

<AccordionGroup>
  <Accordion title="The agent says it can't find a channel">
    If the channel is private, the Leme app isn't a member. Invite it from Slack with `/invite @Leme` in that channel, then ask again.
  </Accordion>

  <Accordion title="The agent can list a channel but not read its messages">
    Listing shows channels the app knows about; reading history requires membership. Invite the app to the channel.
  </Accordion>

  <Accordion title="Every message the agent posts asks for approval">
    That's the default for posting outside the current conversation. If a routine post should run freely, an admin can change the External communication verdict — or add a per-action exception — in the connection's Agent permissions.
  </Accordion>

  <Accordion title="The connection shows as needing attention">
    The authorization was revoked on the Slack side (for example, the app was removed from the workspace). Reconnect from **Integrations → Slack**; nothing else is lost.
  </Accordion>
</AccordionGroup>
