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

# Slack and Discord

> Connect Slack workspaces and Discord servers on Pro and above.

export const BrowserWrapper = ({src, alt, title, description, height = '280px', caption, imgStyle = {}, children, imagePadding = '0px'}) => {
  const legacyDocsImagePrefix = '/images/';
  const productionDocsImagePrefix = '/docs/images';
  const rawSrc = typeof src === 'string' ? src : src && (src.src || src.default) || '';
  const imageSrc = rawSrc.startsWith(legacyDocsImagePrefix) ? `${productionDocsImagePrefix}/${rawSrc.slice(legacyDocsImagePrefix.length)}` : rawSrc;
  return <Frame caption={caption || alt || title} width="100%">
      <div style={{
    border: '1px solid #e2e8f0',
    borderRadius: '12px',
    overflow: 'hidden',
    boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
    width: '100%'
  }}>
        <div style={{
    backgroundColor: '#f8fafc',
    padding: '10px 15px',
    borderBottom: '1px solid #e2e8f0',
    display: 'flex',
    gap: '6px'
  }}>
          <div style={{
    width: '10px',
    height: '10px',
    borderRadius: '50%',
    backgroundColor: '#ff5f56'
  }} />
          <div style={{
    width: '10px',
    height: '10px',
    borderRadius: '50%',
    backgroundColor: '#ffbd2e'
  }} />
          <div style={{
    width: '10px',
    height: '10px',
    borderRadius: '50%',
    backgroundColor: '#27c93f'
  }} />
        </div>
        <div style={{
    overflow: 'hidden',
    background: '#ffffff',
    width: '100%',
    padding: imagePadding
  }}>
          {src ? <img src={imageSrc} alt={alt || ''} data-docs-screenshot style={{
    ...imgStyle,
    width: '100%',
    minWidth: '100%',
    height: 'auto',
    display: 'block',
    borderRadius: '0px'
  }} /> : children ? children : null}
        </div>
      </div>
    </Frame>;
};

Slack and Discord are available on **Pro** and above. Both channels fit when your audience already lives in team or community chat tools. This guide walks through OAuth setup for Slack and the full Discord connect-and-activate flow.

Quick links: <a href="https://www.boundbot.com/dashboard/channels/slack" target="_blank" rel="noopener noreferrer"><b>Channels → Slack</b></a> · <a href="https://www.boundbot.com/dashboard/channels/discord" target="_blank" rel="noopener noreferrer"><b>Channels → Discord</b></a>

## Slack integration

Use Slack when you want to connect a workspace through OAuth. The bot replies in the Slack environment you authorize; threads sync to <a href="https://www.boundbot.com/dashboard/inbox" target="_blank" rel="noopener noreferrer"><b>Inbox</b></a>.

### Slack setup

1. Open <a href="https://www.boundbot.com/dashboard/channels/slack" target="_blank" rel="noopener noreferrer"><b>Channels</b> → <b>Slack</b></a>.
2. Click **Connect channel** (or **Connect**).
3. Select the bot you want to attach to this channel.
4. Click **Continue with Slack**.
5. On the Slack authorization screen, **approve** BoundBot for the workspace you want to use.

<BrowserWrapper src="../images/slack-auth.png" alt="Slack OAuth workspace authorization screen for BoundBot." caption="Workspace authorization — Approve BoundBot in Slack to finish connecting the channel." />

Test in a private channel first, then confirm the conversation appears in **Inbox**.

***

## Discord integration

Use Discord when you want the bot inside a server or community. Discord setup has two parts: **add the bot to the server** (OAuth in Discord), then **activate** it with a key BoundBot shows you.

### Discord setup (6 steps)

| Step | Action                                                                                                                                                             |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1    | **Dashboard** — Open <a href="https://www.boundbot.com/dashboard/channels/discord" target="_blank" rel="noopener noreferrer"><b>Channels</b> → <b>Discord</b></a>. |
| 2    | **Connect** — Click **Connect channel**.                                                                                                                           |
| 3    | **Select bot** — Choose which BoundBot to attach.                                                                                                                  |
| 4    | **Add to server** — Click **Continue with Discord** and complete Discord’s add-to-server flow (popup + server selection + permissions).                            |
| 5    | **Copy key** — Copy the activation key BoundBot displays after the bot is added.                                                                                   |
| 6    | **Run `/activate`** — In your server, run the `/activate` command and paste the key when prompted.                                                                 |

Below is the visual flow that matches steps 2–4 (connect popup, server selection, permissions, success).

### Connection setup — bot selection popup

<BrowserWrapper src="../images/discord-connect.png" alt="Discord connection popup to select bot and continue with Discord." caption="Connect — Choose the bot, then continue to Discord to add it to a server." />

### Server selection

<BrowserWrapper src="../images/discord-permissions.png" alt="Discord server dropdown to select where to add BoundBot." caption="Server selection — Pick the server where BoundBot should be installed." />

### Permissions (scopes)

Discord asks you to grant scopes such as **View Channels**, **Send Messages**, and related permissions the bot needs to read and reply.

<BrowserWrapper src="../images/discord-auth.png" alt="Discord OAuth permission screen showing required scopes like View Channels and Send Messages." caption="Required scopes — Approve so the bot can operate in your server." />

### Final authorization confirmation

<BrowserWrapper src="../images/discord-success.png" alt="Discord success screen confirming BoundBot was added to the server." caption="Success — Bot added; next, copy the activation key in BoundBot and run /activate in the server." />

<Warning>
  **Activation required:** Discord integration is **not complete** until you run the <code>/activate</code> command with the key BoundBot shows you. Adding the bot to the server without activation leaves the channel inactive.
</Warning>

***

## Troubleshooting

* **No servers in the Discord dropdown** — You must have **Manage Server** (or Administrator) on the server to add bots.
* **Slack testing** — Test in a **private channel** first so you can validate replies before wider rollout.

***

## Which channel to use

* **Slack** — Internal teams, operators, and workflows.
* **Discord** — Public communities, member groups, and community support.

<CardGroup cols={2}>
  <Card title="Channels overview" icon="messages-square" href="/channels/overview">
    Compare Slack and Discord with WebChat, WhatsApp, and other channels.
  </Card>

  <Card title="Inbox" icon="inbox" href="/guides/inbox">
    Confirm Slack and Discord threads arrive in the shared inbox after setup.
  </Card>

  <Card title="Workflows" icon="workflow" href="/automation/workflows">
    Add routing or handoff when community conversations need automation.
  </Card>

  <Card title="Plans and limits" icon="badge-dollar-sign" href="/reference/plans-and-limits">
    Slack and Discord require Pro or above; check limits before connecting.
  </Card>
</CardGroup>
