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

# Permissions and security

> Slack permissions Profound requests, why it needs each one, and how it stores and deletes your Slack data

The Profound app for Slack only requests the permissions the purposes you select need. This page explains how the connection works, each Slack permission Profound can request and why, and how Profound stores and deletes Slack data.

## Connection model

* **One installation per workspace.** A Profound admin connects the workspace through Slack's standard [OAuth installation flow](https://docs.slack.dev/authentication/installing-with-oauth/). Profound acts in Slack as the **Profound** app, never as the person who installed it.
* **Bot permissions only.** Profound requests bot scopes. It doesn't request user scopes, so it can't read or post as any person in your workspace.
* **Each person uses their own Profound access.** Profound matches the person messaging it to their Profound account, either because their Slack email matches their Profound account or because they verified their Slack identity with [Sign in with Slack](https://docs.slack.dev/authentication/sign-in-with-slack/). Answers only use data that account can access in Profound.
* **Threads run as the person who started them.** Anyone who can see a thread with Profound can reply, and Profound answers every reply with the access of the person who started the thread.
* **Profound only acts on messages meant for it.** In channels where Profound is a member, Slack sends Profound new messages. Profound responds to messages that mention it and to replies in threads it's part of. It passes other channel messages on only when the connection includes the **Automation triggers** purpose, to start the automations you set up.

## Purposes and features

When you connect Slack, you select one or more purposes in the **Choose Slack permissions** dialog. Each purpose turns on a set of features, and each feature needs specific Slack permissions.

| Purpose                 | Features                                                                                                                                                                                                                                                                                                     |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Workspace bot**       | Public channel conversations, private channel conversations, direct conversations, assistant suggestions, analyze shared attachments, receive generated files, organization and category commands, processing status reactions, document previews, channel management, private notifications, workspace icon |
| **Workflow messages**   | Public channel destinations, private channel destinations, workflow message delivery, channel management                                                                                                                                                                                                     |
| **Automation triggers** | Public channel destinations, private channel destinations, message triggers, reaction triggers, channel management                                                                                                                                                                                           |
| **Notifications**       | Private notifications                                                                                                                                                                                                                                                                                        |

If Slack doesn't grant a permission a purpose's main features need, the connection shows **Connected—setup incomplete** and those features stay off until you finish setup.

## Slack permissions

| Scope               | Features that use it                                            | How Profound uses it                                                                                                                                                                             |
| ------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `app_mentions:read` | Public and private channel conversations                        | Receives messages that mention **@Profound** so it can reply in a thread                                                                                                                         |
| `channels:history`  | Public channel conversations, message triggers                  | Reads replies in public-channel threads Profound is part of, so a conversation continues without another mention. With message triggers, receives public-channel messages that start automations |
| `groups:history`    | Private channel conversations, message triggers                 | The same as `channels:history`, for private channels Profound is a member of                                                                                                                     |
| `im:history`        | Direct conversations                                            | Reads the messages you send Profound in a direct message or its **Messages** tab                                                                                                                 |
| `channels:read`     | Public channel conversations and destinations                   | Lists public channels so you can choose destinations and so Profound can route conversations                                                                                                     |
| `groups:read`       | Private channel conversations and destinations                  | Lists the private channels Profound is a member of                                                                                                                                               |
| `chat:write`        | Conversations, workflow message delivery, private notifications | Posts Profound's replies, Agent results, and notifications                                                                                                                                       |
| `im:write`          | Conversations, commands, private notifications                  | Opens a direct message to send your account-link button and private notifications                                                                                                                |
| `users:read`        | Conversations, commands, private notifications                  | Looks up the Slack profile of the person messaging Profound, and the people a notification is for                                                                                                |
| `users:read.email`  | Conversations, commands, private notifications                  | Matches Slack members to their Profound accounts by email                                                                                                                                        |
| `assistant:write`   | Assistant suggestions                                           | Shows suggested prompts in the Profound app's **Messages** tab                                                                                                                                   |
| `files:read`        | Analyze shared attachments                                      | Downloads files shared in a conversation with Profound so it can read them                                                                                                                       |
| `files:write`       | Receive generated files                                         | Uploads files Profound generates to the conversation                                                                                                                                             |
| `commands`          | Organization and category commands                              | Adds the `/profound-org` and `/profound-category` commands                                                                                                                                       |
| `reactions:write`   | Processing status reactions                                     | Adds 👀 while Profound works on a message and ✅ when it's done                                                                                                                                   |
| `reactions:read`    | Reaction triggers                                               | Receives reactions in chosen channels that start automations                                                                                                                                     |
| `links:read`        | Document previews                                               | Detects links to Profound documents on `platform.tryprofound.com`                                                                                                                                |
| `links:write`       | Document previews                                               | Shows a preview of those Profound documents                                                                                                                                                      |
| `channels:join`     | Channel management                                              | Joins a public channel when an admin adds AI Marketer to it in Profound                                                                                                                          |
| `channels:manage`   | Channel management                                              | Leaves a public channel when an admin removes AI Marketer from it in Profound                                                                                                                    |
| `groups:write`      | Channel management                                              | Leaves a private channel when an admin removes AI Marketer from it in Profound                                                                                                                   |
| `team:read`         | Workspace icon                                                  | Shows your workspace's name and icon next to the connection in Profound                                                                                                                          |

Profound doesn't request `im:read`, any group direct message scope (`mpim:*`), or any user scope.

<Note>
  Slack adds new permissions to a workspace's existing Profound installation instead of replacing them. If your workspace connected Profound before, Slack may still hold permissions granted then. Learn more in Slack's [OAuth installation documentation](https://docs.slack.dev/authentication/installing-with-oauth/).
</Note>

## What Profound stores

Profound stores:

* the workspace's bot token, encrypted as described in [Token storage](#token-storage)
* the connection's workspace ID, name, and icon, the purposes and features you selected, and the permissions Slack granted
* for each conversation thread, its workspace, channel, and thread IDs, the Profound organization and categories it uses, and the Profound user who started it. These records don't contain message text
* account links between Slack members and Profound accounts, and each person's default organization and category
* the messages you send Profound, the files you share with it, and its replies, as Profound conversation history in your organization
* records of the messages Profound posted, used to avoid posting a reply twice. Profound deletes these after 30 days

Revoking the connection deletes the bot token. It doesn't delete conversation history, thread records, or account links. You can revoke your own account link on the **User identity** tab of the Slack integration in Profound. To request access to or deletion of other Slack data, email [support@tryprofound.com](mailto:support@tryprofound.com). Profound's [Privacy Policy](https://www.tryprofound.com/legal/privacy-policy) explains how long Profound keeps personal data and how to make a request.

## Token storage

Profound envelope-encrypts the bot token with an [AWS Key Management Service (KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) key reserved for customer data and stores the ciphertext in Amazon DynamoDB. The encryption context binds each record to one Profound organization and provider, so a record can't be decrypted under another organization's identity. Profound's main database holds only a reference to the encrypted record, never the token.

## Revoking access

Admins revoke the connection in Profound under **Settings** > **Integrations** > **Slack**, from the **...** action menu on the connected account, by selecting **Revoke**. When you revoke:

* Profound deletes the encrypted token and marks the connection as revoked. The deletion isn't reversible.
* If no other Profound connection uses the same workspace, Profound calls Slack's [`auth.revoke`](https://docs.slack.dev/reference/methods/auth.revoke/) to revoke the token.
* Profound stops responding in the workspace, and Agents and automations that use the connection stop working until you connect again.

<Note>
  Slack workspace admins can also [remove the Profound app](https://slack.com/help/articles/360003125231-Remove-apps-and-custom-integrations-from-your-workspace) in Slack. Slack then stops accepting Profound's token. Revoke the connection in Profound too, so Profound deletes the stored token.
</Note>

## Controls for Slack admins

* **Approve or block Profound.** Use [app approval](https://slack.com/help/articles/222386767-Manage-app-approval-for-your-workspace) to decide whether members can install Profound in your workspace.
* **Choose where Profound can read.** Profound only reads channels it's a member of. Remove it from a channel in Slack or in Profound's Slack settings at any time.
* **Remove the app.** Removing Profound from your workspace ends its access immediately.
