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

# Slack

Slack is a cloud-based communication tool that helps organizational teams communicate faster and more efficiently. Used by 750,000 organizations, Slack promotes collaboration via dedicated channels, facilitates remote work, automatic reminders and notifications, and supports voice and video call.&#x20;

After integrating with Slack, DoControl monitors real-time events, and captures data about users and assets in public channels. DoControl leverages this information to make smarter decisions and reduce security risk.

{% hint style="warning" %}

* If your organization uses Slack Enterprise Grid, you can choose what functionality you enable:
  * For full **Slack Enterprise** capabilities - Integrate with DoControl's [Slack Enterprise ](/docontrol-user-guide/integrations/slack-enterprise.md)module.
  * For **Slack basic** capabilities - Integrate with DoControl's [Slack](#integrate-slack-with-docontrol) module.
* You can integrate with only one DoControl capability: Slack or Slack Enterprise.&#x20;
  {% endhint %}

## Use cases

When you integrate DoControl with Slack, you can address these use cases:

* **Public channel monitoring and remediation**
  * Get full inventory visibility for all assets shared by users in public channels.
  * Monitor PII and sensitive file and canvas sharing in public channels (internal and external).
  * Delete files that contain PII or sensitive information directly from Slack.
  * Trigger alerts based on file overexposure, such as encryption key sharing in public channels.<br>
* **Messages and notifications**
  * When the DoControl app joins your selected channels, members of each channel are notified once. You can also select channels to monitor after integrating.
  * End users in public channels will receive DoControl bot messages as part of workflows, for example, asking to approve or reject their actions. \
    To enable end users in private channels to receive automatic notifications, see [Notify in Slack](/docontrol-user-guide/workflows/define-workflow-settings/action-settings/notify.md#notify-in-slack).

{% hint style="info" %}

* In the current version, data is not collected from private channels, direct messages, or group messages.
* DoControl fully supports Slack canvases: documents that you create and share in your Slack workspace. Canvases are listed under **Slack inventory > Files**.
* To remediate potential data loss, see [Slack remediation](/docontrol-user-guide/workflows/define-workflow-settings/action-settings/remediate/slack-remediation.md).
  {% endhint %}

## Interactive approvals and decisions&#x20;

Receive interactive and dynamic Slack messages for approvals and decisions. The DoControl app allows you to:

* Start getting interactive Slack messages for approvals and decisions:&#x20;
  * Who approved or decided?
  * Was it approved or rejected? What was decided?
* Respond to approvals and decisions directly in the Slack channel
* Easily track your Slack notifications

<div align="left"><figure><img src="https://3236294211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MesrnyDMZGYg1V-tOBo%2Fuploads%2FY9nVMz7SnOTDwLXFTFpF%2FDoControl%20app%20share.png?alt=media&amp;token=3b4e5c89-111b-4053-9c0c-efa42abbf8a5" alt="" width="563"><figcaption><p>Interactive Slack messages for approvals and decisions</p></figcaption></figure></div>

{% hint style="info" %}

* **Existing customers**: To migrate from DoBot to the new DoControl app and start receiving interactive Slack messages, you need to re-integrate DoControl with [Slack](#integrate-slack-with-docontrol).&#x20;
* Notification settings have moved from Settings to the Slack integration wizard.
  {% endhint %}

## Prerequisites&#x20;

To integrate Slack with DoControl, make sure you have fulfilled these prerequisites:&#x20;

* Slack Pro and above.&#x20;
* Before starting to integrate, you need to sign up with DoControl. Follow the onboarding steps in [Create first account](/docontrol-user-guide/getting-started/quick-start/set-up-docontrol-basics.md#create-first-account).
* The integrator must be a **Workspace** **admin** or **owner**. In some cases, app approval by the Workspace owner might be required, depending on the Workspace settings:
  * If the Slack setting **Require App approval** is **On**, either the owner or designated member  needs to approve.&#x20;
  * If the Slack setting **Only allow apps from the Slack App Directory** is **Off**, integration is possible only if the integrator is a Workspace owner, or turns on this setting.
* In your email provider, define DoControl as an **approved** **domain**. If you use an email security solution, it will release decision and approval notifications only if DoControl is whitelisted.

### Read permissions <a href="#required-scopes" id="required-scopes"></a>

To enable DoControl to retrieve information from Slack, you require these **Read** permissions:

<table><thead><tr><th width="296">Slack Read permission</th><th>Scope</th></tr></thead><tbody><tr><td><a href="https://api.slack.com/scopes/channels:join">channels:join</a></td><td>Add DoControl's bot to public channels</td></tr><tr><td><a href="https://api.slack.com/scopes/channels:manage">channels:manage</a></td><td><p>Manage public channels that DoControl has been added to and</p><p>create new ones (remove DoControl's bot from public channels)</p></td></tr><tr><td><a href="https://api.slack.com/scopes/channels:read">channels:read</a></td><td>View basic information about public channels in a workspace</td></tr><tr><td><a href="https://api.slack.com/scopes/conversations.connect:manage">conversations.connect:manage</a></td><td><p></p><p>Allows your slack app to manage Slack Connect channels. Only relevant in write mode. Enables the following events:</p><ul><li><a href="https://api.slack.com/events/shared_channel_invite_accepted">A shared channel invite was accepted</a></li><li><a href="https://api.slack.com/events/shared_channel_invite_approved">A shared channel invite was approved</a></li><li><a href="https://api.slack.com/events/shared_channel_invite_declined">A shared channel invite was declined</a><br></li></ul></td></tr><tr><td><a href="https://api.slack.com/scopes/files:read">files:read</a></td><td>View files shared in channels and conversations that DoControl has been added to</td></tr><tr><td><a href="https://api.slack.com/scopes/groups:read">groups:read</a></td><td>View basic information about private channels that DoControl has been added to</td></tr><tr><td><a href="https://api.slack.com/scopes/team:read">team:read</a></td><td>View the name, email domain, and icon for workspaces DoControl is connected to</td></tr><tr><td><a href="https://api.slack.com/scopes/users.profile:read">users.profile:read</a></td><td>View profile details about people in a workspace</td></tr><tr><td><a href="https://api.slack.com/scopes/users:read">users:read</a></td><td>View people in a workspace</td></tr><tr><td><a href="https://api.slack.com/scopes/users:read.email">users:read.email</a></td><td>View email addresses of people in a workspace</td></tr></tbody></table>

### Write permissions

To enable DoControl to remediate files in Slack and send DoControl app messages and notifications, you require these **Write** permissions:

<table><thead><tr><th width="304">Slack Write permission</th><th>Scope</th></tr></thead><tbody><tr><td><a href="https://api.slack.com/scopes/files:write">files:write</a></td><td>Upload, edit, and delete files on a user’s behalf.  This is used for deleting files upon request.</td></tr><tr><td><a href="https://api.slack.com/scopes/chat:write">chat:write</a></td><td>Allow the DoControl app to post messages and notifications in approved channels and conversations</td></tr><tr><td><a href="https://api.slack.com/scopes/chat:write.public">chat:write.public</a></td><td>Allow the DoControl app to send messages to channels that DoControl app isn't a member of</td></tr></tbody></table>

### Slack events

DoControl monitors these Slack near real-time events, which are accessed with the following permissions. You can leverage these events as triggers in workflows, or view them in the [Events](/docontrol-user-guide/saas-data-monitoring/events.md) table.

<table><thead><tr><th width="395.74341316025715">Event and API link</th><th width="340.57679105675606">Permission</th></tr></thead><tbody><tr><td><ul><li><a href="https://api.slack.com/events/app_uninstalled">Uninstalling Slack </a></li><li><a href="https://api.slack.com/events/tokens_revoked">Revoking API tokens </a></li></ul></td><td>none</td></tr><tr><td><ul><li><a href="https://api.slack.com/events/channel_created">Creating channels</a></li><li><a href="https://api.slack.com/events/channel_rename">Renaming channels</a></li><li><a href="https://api.slack.com/events/channel_archive">Archiving channels</a></li><li><a href="https://api.slack.com/events/channel_unarchive">Unarchiving channels</a></li></ul></td><td>channels:read</td></tr><tr><td><ul><li><a href="https://api.slack.com/events/channel_shared">Sharing channels with an external workspace</a></li><li><a href="https://api.slack.com/events/channel_unshared">Unsharing channels with an external workspace</a></li></ul></td><td>channels:read or groups:read</td></tr><tr><td><ul><li><a href="https://api.slack.com/events/file_created">Creating files</a></li><li><a href="https://api.slack.com/events/file_change">Changing files</a></li><li><a href="https://api.slack.com/events/file_public">Making files public</a></li><li><a href="https://api.slack.com/events/file_shared">Sharing files</a></li><li><a href="https://api.slack.com/events/file_unshared">Unsharing files</a></li></ul></td><td>files:read</td></tr><tr><td><ul><li><a href="https://api.slack.com/events/member_joined_channel">A user joining a public or private channel</a></li><li><a href="https://api.slack.com/events/member_left_channel">A user leaving a public or private channel</a></li></ul></td><td>channels:read or groups:read</td></tr><tr><td><ul><li><a href="https://api.slack.com/events/team_join">A new member joining a team</a></li><li><a href="https://api.slack.com/events/user_change">Changing a member's data</a></li></ul></td><td>users:read</td></tr></tbody></table>

## Integrate Slack with DoControl

Even if your organization uses multiple workspaces, DoControl is installed only on an individual workspace.

Slack channels include these types:

* **External** or **Slack Connect** - Channels which contain external users (outside your organization).
* **Public** - Channels which contain internal users only, but anyone can join (as opposed to private channels which can only be joined by invitation).

{% hint style="info" %}

* DoControl is integrated with Slack at the **workspace** level, and not the grid level.
* You can select channels to monitor after integrating.&#x20;
  {% endhint %}

1. From the DoControl side menu, click **Integrations**.

2. Under the **Slack** icon, click **Connect**. The **Connect to Slack** wizard opens. \
   \
   ![](https://3236294211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MesrnyDMZGYg1V-tOBo%2Fuploads%2FUwGe5lkcc6DnrICh7vib%2FSlack%20Basic%20integrate.png?alt=media\&token=cd73418b-cb0e-40d3-9cc4-0ab4988d6fed)

3. Click **Let's go**, and follow instructions in the wizard:

   * Select **Write (remediation)** permissions if you want to enable deleting of sensitive files.<br>

   <figure><img src="https://3236294211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MesrnyDMZGYg1V-tOBo%2Fuploads%2FIwbvgEbrkkOIiWckNWZK%2FSlack%20Basic%20scopes.png?alt=media&amp;token=d0b8929f-ae49-4a2c-9aa0-f46629a6fa2a" alt=""><figcaption></figcaption></figure>

4. Click **Next**.&#x20;

5. **Optional**: Select **public channels** to include or exclude from monitoring, or click **Next** to select channels after integrating. \
   Members of selected channels will be notified once when the DoControl app joins their channel. <br>

   <figure><img src="https://3236294211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MesrnyDMZGYg1V-tOBo%2Fuploads%2FxqBx3hStzLyn4LAGfwM7%2FSlack%20integrate%20channels.png?alt=media&amp;token=4b0d3e74-636f-49b5-86d3-97237c079857" alt=""><figcaption></figcaption></figure>

6. **Optional**: Select **specific** **channels** to include or exclude from monitoring, or click **Next** to select channels after integrating. \
   Members of selected channels will be notified once when the DoControl app joins their channel. \
   &#x20;

   <figure><img src="https://3236294211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MesrnyDMZGYg1V-tOBo%2Fuploads%2F8knBVWa9YD6xfkQJYltI%2FSlack%20select%20channels.png?alt=media&amp;token=a13fdacc-152c-482e-ada2-bd14df2642f9" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

* If **All public channels** are selected, DoControl will automatically monitor newly added public channels.&#x20;
* The DoControl app will join all selected public channels within 24 hours.
* You can modify the monitored channels after integration, but you cannot modify read-only or read-and-write permissions. To add read-and-write permission, you must disconnect and reintegrate with Slack.
  {% endhint %}

When finished, the wizard indicates that Slack is connected.

6. You can return to the integration wizard after the integration is completed by clicking the **app**![](https://3236294211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MesrnyDMZGYg1V-tOBo%2Fuploads%2FEIHfYF1RLz8w9bWlstTx%2Fimage.png?alt=media\&token=5876aebc-34ce-4b8c-abbf-dee0d7e32780) button, and add or remove channels.&#x20;

## Troubleshooting

Q. What happens if my Slack token expires?

A. If the person who performed the integration leaves your organization, your Slack token will expire. You need to reconnect to DoControl by performing the [integration procedure](#integrate-slack-with-docontrol) again.


---

# 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.docontrol.io/docontrol-user-guide/integrations/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.
