> For the complete documentation index, see [llms.txt](https://docs.couchdrop.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.couchdrop.io/integrations/business-systems/slack.md).

# Slack

Learn how to integrate Slack with Couchdrop

## Overview

Slack is a messaging platform used by teams to communicate and coordinate work through channels and direct messages.

Couchdrop integrates with Slack to send workflow notifications and Transfer Shield approval requests to selected channels. This keeps operational updates and approval tasks visible to the teams responsible for them.

## How Slack works with Couchdrop

Slack is configured in Couchdrop as an integration and platform connection. The connection uses a Slack bot to retrieve available channels and send messages.

Couchdrop uses the Slack integration in three places:

* **Custom Notification action:** Add a Slack notification to any branch of an Automation Workflow, including conditional paths and failure-handling paths. You can select the destination channel, write a custom message, and insert [workflow variables](/automations/variables.md) into the message.
* **Workflow success and failure notifications:** Send a Slack notification when the entire workflow completes successfully or fails.
* **Transfer Shield approvals:** Send approval requests to a Slack channel when a [Transfer Shield policy or rule group](/security-and-governance/transfer-shield-dlp/content-rule-groups.md) triggers an approval. Couchdrop can send these requests through Slack as well as email.

## Set up the Slack integration

{% hint style="warning" %}

### Before you start

You need:

* Couchdrop administrator access
* Permission to install apps in your Slack workspace

By default, any workspace member can install a Slack app. Workspace owners can enable app approval, which limits installation to approved apps. If your workspace restricts apps, ask a workspace owner to approve the Couchdrop app.
{% endhint %}

{% stepper %}
{% step %}

### Create the Slack app

1. Open [Slack API: Your Apps](https://api.slack.com/apps).
2. Click **Create New App**.
3. Select **From a manifest**.
4. Choose the Slack workspace where Couchdrop should send messages.
5. Paste the following manifest:

```json
{
  "display_information": {
    "name": "Couchdrop"
  },
  "settings": {
    "org_deploy_enabled": false,
    "socket_mode_enabled": false,
    "is_hosted": false,
    "token_rotation_enabled": false
  },
  "features": {
    "bot_user": {
      "display_name": "Couchdrop",
      "always_online": false
    }
  },
  "oauth_config": {
    "scopes": {
      "bot": [
        "channels:history",
        "channels:read",
        "chat:write",
        "groups:history",
        "groups:read",
        "im:history",
        "im:read",
        "im:write",
        "links:read",
        "links:write",
        "mpim:history",
        "mpim:read",
        "remote_files:read",
        "remote_files:share",
        "remote_files:write",
        "channels:join"
      ]
    }
  }
}
```

6. Review the configuration, then click **Create**.
7. Install the app in your workspace.
8. When Slack requests authorization, click **Allow**.
9. Click **Go to App Settings**.

{% endstep %}

{% step %}

### Copy the bot token

1. Open **OAuth & Permissions** in the Slack app settings.
2. Find **Bot User OAuth Token**.
3. Copy the token. It begins with `xoxb-`, for example:

```
xoxb-XXXXXXXXXXXX-XXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX
```

{% hint style="danger" %}
Treat this token like a password. Do not share it or store it in documentation, support tickets, or source control.
{% endhint %}

{% endstep %}

{% step %}

### Connect Slack to Couchdrop

1. Open the [Admin Panel](/administration/admin-panel-and-user-mode.md#admin-panel).
2. Go to **Integrations > Platforms**.
3. Click **Add connection**.
4. Find and select **Slack**.
5. Paste the Bot User OAuth Token into the token field.
6. Fetch the available Slack channels.
7. Save and test the connection.

{% hint style="info" %}
The Slack integration is ready when Couchdrop successfully retrieves the channels and passes the connection test.
{% endhint %}
{% endstep %}
{% endstepper %}

## Frequently asked questions

<details>

<summary>Why does a Slack channel not appear in Couchdrop?</summary>

Refresh the channel list in the Slack connection. For a private channel, add the Couchdrop bot to the channel first, then fetch the channels again. Slack limits an app’s access to private conversations where the app is a member.

</details>

<details>

<summary>Can I send notifications from different branches of the same workflow?</summary>

Yes. Add a **Custom Notification** action to each branch that requires an alert. This includes conditional branches and failure-handling paths. Each action can use a different channel and message.

</details>

<details>

<summary>Can a workflow send both a custom notification and a completion notification?</summary>

Yes. Custom notifications run at their configured position in the workflow. Success and failure notifications report the final result of the entire workflow.

Configuring both may produce more than one Slack message during a single execution. Use distinct messages so recipients can tell a branch notification from the final workflow result.

</details>

<details>

<summary>Which variables can I include in a custom Slack message?</summary>

Custom messages support Couchdrop workflow variables. These can insert execution details such as filenames, paths, users, timestamps, and event information. See [Automation Workflow variables](https://docs.couchdrop.io/automations/variables.md) for the available values.

</details>

<details>

<summary>Do Transfer Shield Slack approvals replace email approvals?</summary>

No. Transfer Shield can send an approval request to a Slack channel as well as by email. Configure the methods that suit your approval process.

</details>

<details>

<summary>What should I do if the Slack token changes or stops working?</summary>

Copy the current Bot User OAuth Token from the Slack app’s **OAuth & Permissions** page, update the Slack connection in Couchdrop, then fetch the channels and test the connection again.

Slack may issue a new token when an app is reinstalled. A revoked token can no longer authorize the connection. [Learn about reinstalling Slack apps](https://slack.com/help/articles/202035138-Add-apps-to-your-Slack-workspace).

</details>

<details>

<summary>Can I connect more than one Slack workspace?</summary>

Yes. Install the Couchdrop app in each Slack workspace and create a separate Couchdrop connection using that workspace’s Bot User OAuth Token. Slack tokens apply to the workspace where the app was installed.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.couchdrop.io/integrations/business-systems/slack.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
