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

# Permissions Henry requests

> The exact Slack scopes and Microsoft Teams permissions Henry asks for, and why.

## Slack

Henry's Slack app requests these bot token scopes:

| Scope                                           | Why                                                                                                      |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `app_mentions:read`                             | See when someone mentions @Henry.                                                                        |
| `chat:write`, `chat:write.public`               | Reply in channels and DMs, including channels Henry has not been invited to when posting task reports.   |
| `im:history`, `im:read`, `im:write`             | Direct message conversations with Henry.                                                                 |
| `channels:history`, `groups:history`            | Read messages in public and private channels Henry has been invited to, for context and channel capture. |
| `channels:read`, `groups:read`, `channels:join` | Know which channels exist and join new public channels so @Henry works there.                            |
| `files:read`, `files:write`                     | Read images and voice memos you share; post files and images.                                            |
| `reactions:read`, `reactions:write`             | Learn from thumbs up and down; acknowledge messages.                                                     |
| `commands`                                      | The `/henry` slash command.                                                                              |
| `users:read`, `users:read.email`                | Match Slack users to Henry accounts.                                                                     |
| `team:read`                                     | Workspace name and identity.                                                                             |

Events subscribed: `app_mention`, `message.im`, `message.channels`, `message.groups`, `member_joined_channel`, `reaction_added`, and `channel_created`.

Henry only reads channels it has been invited to. Channel capture can be turned off or purged per channel with `/henry capture`. See [Slack](/user-guide/channels/slack).

## Microsoft Teams

* **Microsoft Graph application permissions: none.** Henry does not request tenant-wide Graph permissions. Files you send arrive through the Bot Framework, not Graph.
* **Sign-in:** the standard delegated `openid profile email` scopes, used only to sign the connecting admin in.
* **Resource-specific consent (RSC):** exactly one permission, `ChannelMessage.Read.Group`, granted per team when Henry is added to that team. It lets Teams deliver unmentioned channel messages so Henry can follow replies in threads it owns and learn from channels it has been added to.

The app registration is multi-tenant and supports personal chats, group chats, and team channels. Publisher domain: `usehenry.ai`, verified.

Microsoft does not deliver unmentioned messages in private or shared channels to any bot, so in those channels every message to Henry must mention it. Henry deliberately does not request the tenant-wide `ChannelMessage.Read.All` permission.

## Integrations

Each integration you connect asks for its own permissions on that tool's consent screen. Henry requests the scopes needed for the tool's read and write actions. Your tokens are held by the connection provider, not stored by Henry. See [Integrations](/user-guide/integrations/overview).
