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

# Slack channel access

> Choose, channel by channel, whether Clustr may read a Slack channel, post to it, both, or neither

Once Slack is connected, you decide what the Clustr app may do in each channel of
your Slack workspace. There are two separate permissions:

* **Read**: when someone mentions Clustr in the channel, Clustr may use the
  channel's recent messages (or the thread's) to understand the question.
* **Post**: workflows, competitor reports and other deliveries may post to the
  channel.

Each channel gets one of four settings:

| Setting | Read | Post |
| - | - | - |
| `read_write` | Yes | Yes |
| `read` | Yes | No |
| `write` | No | Yes |
| `none` | No | No |

Admins change them in the app under **Integrations > Slack**, or with the
[MCP tools](https://docs.clustr-ai.com/mcp-server.md) below. Everyone in the workspace can see them.

## The default

Every channel without its own setting follows the **default**. A newly connected
workspace starts with `read_write`, so Clustr may read and post everywhere, and
new channels created later follow the default too.

To keep Clustr out of most channels, set the default to `none` (or `read`) and
give only the channels you want their own setting.

## Posting is also switched on or off for the whole workspace

**Allow channel posting** is a single switch for the whole workspace. While it is
off, Clustr posts to no channel at all, whatever each channel's setting says.
Direct messages to people are not affected.

## What changes when a channel cannot be read

If someone mentions Clustr in a channel set to `write` or `none`, Clustr still
answers, but only from the message that mentions it. It does not look at the
rest of the conversation in that channel.

Direct messages with Clustr are always read: they are a conversation with Clustr
itself.

## What changes when a channel cannot be posted to

A workflow or report that targets a channel set to `read` or `none` does not
post there, and nothing is sent to that channel until you change its setting.

## Adding Clustr to a channel

To read a channel, the Clustr app has to be in it. Posting does not need that.

* **Public channels**: add Clustr from the channel list in **Integrations > Slack**,
  or give the channel read access: Clustr joins a public channel on its own when
  you open it for reading.
* **Private channels**: Clustr cannot add itself. Open the channel in Slack and
  type `/invite @Clustr` (use your Clustr app's name if it differs), then refresh
  the channel list.

Only channels Clustr can see are listed: every public channel, and the private
channels it has been invited to.

## If you used the allowed channels list before

Workspaces that had limited posting to a list of channels keep exactly the same
behavior: the default became `read`, and each channel on the list became
`read_write`.

## Using MCP

| Tool | What it does |
| - | - |
| `list_slack_channels` | The channels Clustr can see, with whether it is in each one and each channel's setting |
| `update_slack_channel_access` | Set the default and each channel's setting. Admins only |
| `join_slack_channel` | Add Clustr to a public channel. Admins only |

`update_slack_channel_access` takes `default_channel_access` and a
`channel_access` object from channel id to setting:

```json theme={null}
{
  "default_channel_access": "read",
  "channel_access": {
    "C0123456789": "read_write",
    "C0987654321": "none"
  }
}
```

`channel_access` replaces every channel's own setting at once: send each
channel that should differ from the default. Channels you leave out follow the
default. An unknown setting is refused and nothing is saved.

> [!NOTE]
>
> Changes reach every part of Clustr within a few minutes.


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