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

# Slack Scopes & Permissions

> Learn which Slack scopes and permissions are required by the Tightknit app and why each scope is necessary for providing our community engagement features while maintaining security and privacy.

## Bot Token Scopes

The [Bot token scopes](https://docs.slack.dev/reference/scopes/?token_types=Bot) are granted to the Tightknit bot user when the app is installed to the Slack workspace. The scopes are required for the bot's ability to perform actions within the workspace.

| OAuth Scope              | Reason                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `channels:history`       | Required to create the content for posts and comments on the Tightknit site.                                                                                                                                                                                                                                                                                                                                                                |
| `channels:join`          | When admins enable a selected channel with Tightknit features, we must add Tightknit to the channel in order to participate or react to activity in the channel.                                                                                                                                                                                                                                                                            |
| `channels:read`          | Tightknit reads the channel description, topic, and metadata for creating Tightknit Feeds.                                                                                                                                                                                                                                                                                                                                                  |
| `channels:write.invites` | Tightknit offers channel invitation tools such as "invite all members to a channel" and "invite all members of one channel to another channel"                                                                                                                                                                                                                                                                                              |
| `chat:write`             | Tightknit sends messages for anonymous posting, polls, event announcements, event recaps, community site-related reminders, gamification notifications, and onboarding messages. Tightknit sends ephemeral messages to individual users for notifications and reminders.                                                                                                                                                                    |
| `chat:write.customize`   | Customers can white-label the experience to their community's brand so that the Tightknit bot's public messages reflect the name and image of their company, business, etc.                                                                                                                                                                                                                                                                 |
| `chat:write.public`      | Allows Tightknit to send messages to public channels the bot has not been explicitly added to. Used for one-off notifications, announcements, and scheduled posts where requiring admins to first invite the bot to every target channel would create unnecessary friction.                                                                                                                                                                 |
| `commands`               | Offers customers various ways to access Tightknit features, including: accessing an upcoming Events listing, accessing their earned gamification awards, discovering gamification offerings within the community, updating content from the Tightknit site, sending anonymous messages, creating polls, using channel invitation tools.                                                                                                     |
| `emoji:read`             | Required to reflect custom emoji reactions on messages within the Tightknit site.                                                                                                                                                                                                                                                                                                                                                           |
| `files:read`             | Required to reflect the current status of public files the customer has posted to the Tightknit site. Tightknit respects updates/deletions to the Slack file.                                                                                                                                                                                                                                                                               |
| `files:write`            | Customers may use Tightknit to generate framed profile photos and certificate award images which are uploaded as files for the user.                                                                                                                                                                                                                                                                                                        |
| `groups:history`         | Tightknit only interacts with private channels which the customer admins have explicitly configured. Certain customers may have private Feeds enabled with Tightknit. Tightknit reads the channel description, topic, and metadata to create the Feed. The admin may use message shortcuts to manually select threads to appear on the Tightknit site. Tightknit must process the messages of the thread to convert to posts and comments.  |
| `groups:read`            | Tightknit only interacts with private channels which the customer admins have explicitly configured. Required for posts and comments to the Tightknit site.                                                                                                                                                                                                                                                                                 |
| `groups:write`           | Tightknit creates a private "Tightknit Hub" channel, intended for admins of the workspace to receive important notification, alerts, news, and other updates from the Tightknit app.                                                                                                                                                                                                                                                        |
| `groups:write.invites`   | Tightknit must invite the workspace admin(s) to the private "Tightknit Hub" channel. The initial installing admin user is automatically added, but any subsequent admin users that visit the app home would expect to be added to the Hub channel too. For the subsequent admin visitors, we display a button for them to "Join the Hub Channel". This scope is used to invite the admins that click the button to the private hub channel. |
| `im:history`             | Tightknit writes and updates messages sent in direct message conversations between Tightknit and members of the community. This is primarily used for sending private notifications.                                                                                                                                                                                                                                                        |
| `im:read`                | Tightknit writes and updates messages sent in direct message conversations between Tightknit and members of the community. This is primarily used for sending private notifications.                                                                                                                                                                                                                                                        |
| `im:write`               | Tightknit writes and updates messages sent in direct message conversations between Tightknit and members of the community. This is primarily used for sending private notifications.                                                                                                                                                                                                                                                        |
| `links.embed:write`      | We include tutorial and guidance videos during the onboarding flows and in our Help modals.                                                                                                                                                                                                                                                                                                                                                 |
| `links:read`             | We include tutorial and guidance videos during the onboarding flows and in our Help modals.                                                                                                                                                                                                                                                                                                                                                 |
| `pins:read`              | Allows Tightknit to read pinned items within a Slack channel to sync as pinned posts on the feeds of the community site.                                                                                                                                                                                                                                                                                                                    |
| `reactions:read`         | Tightknit retrieves the reactions on Slack messages to share on posts and comments in the Tightknit site.                                                                                                                                                                                                                                                                                                                                   |
| `team.billing:read`      | Tightknit retrieves the Slack workspace billing plan to understand which features and API access are available. This helps determine capabilities like message history lookback (e.g., 90 days for free plans vs. unlimited for paid plans).                                                                                                                                                                                                |
| `team:read`              | The workspace information is used for creating the initial space when an admin first logs in. It is used to seed the default values for the customer's Tightknit community, including the workspace name, domain, and icon.                                                                                                                                                                                                                 |
| `users.profile:read`     | Allows us to create member directories where they can search for other similar members.                                                                                                                                                                                                                                                                                                                                                     |
| `users:read`             | Allows us to create member directories where they can search for other similar members.                                                                                                                                                                                                                                                                                                                                                     |
| `users:read.email`       | Connects user profiles to their associated users on the site. We use email to associate. Email also allows customers to register for events on the platform. We DO NOT send the customer any emails without their consent.                                                                                                                                                                                                                  |

## User Token Scopes

The [User token scopes](https://docs.slack.dev/reference/scopes/?token_types=User) grant the Tightknit app the ability to perform actions on behalf of individual users. The user scopes are requested when:

1. The Tightknit app is installed by an admin user
2. The user uses [Sign in with Slack](https://docs.slack.dev/authentication/sign-in-with-slack) to log into the Tightknit service using their Slack profile.

<Note>
  For example, to use the *[Send message as](/member-engagement/onboarding)*
  feature for the onboarding welcome message, you must use Sign in With Slack in
  order for Tightknit to post on behalf of your user profile.
</Note>

| OAuth Scope            | Reason                                                                                                                                             |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `chat:write`           | Used to send the automated onboarding welcome message on behalf of the admin.                                                                      |
| `email`                | Required for Sign in with Slack with Tightknit Auth. This allows community members to log into their portal.                                       |
| `groups:write`         | Required to create the Tightknit Hub private channel on behalf of the admin user so the admin can be the owner of the channel.                     |
| `groups:write.invites` | Required so that after the Tightknit Hub private channel has been created on behalf of the admin user, we invite our Tightknit bot to the channel. |
| `im:write`             | Used to initiate the DM conversation for onboarding welcome message sent on behalf of the admin.                                                   |
| `openid`               | Required for Sign in with Slack with Tightknit Auth. This allows community members to log into their portal.                                       |
| `profile`              | Required for Sign in with Slack with Tightknit Auth. This allows community members to log into their portal.                                       |


## Related topics

- [API Keys](/integrations/api-keys.md)
- [Vulnerability Disclosure Policy](/security/vulnerability-disclosure.md)
- [Journeys](/gamification/journeys.md)
- [Permission Sets](/community/permission-sets.md)
- [Introduction](/api-reference/introduction.md)
