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

# Slack

> What agents can do in Slack at each access level, and how to connect, limit, and disconnect Slack.

Connect Slack so your agents can work in your Slack account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Slack account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                         | The connect window describes this level as        | Actions agents can use |
| ----------------------------- | ------------------------------------------------- | ---------------------- |
| **Read-only**                 | "Read messages in channels and DMs. Cannot send." | 22 of 163              |
| **Read + send**               | "Read history and post messages."                 | 141 of 163             |
| **Full access** (recommended) | "Read, post, manage channels, react, and pin."    | 163 of 163             |

**Full access** is the recommended level. The connect window selects it for you, and you can choose another level.

The Slack sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Slack account?" The agent can search the Slack actions for you.</Tip>

Each action shows its name, a one-line description where the Slack action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 22 of the 163 Slack actions at this level:

    * View and search users
    * View settings
    * View apps
    * View audit logs
    * Search conversations
    * View emoji
    * View files
    * View groups
    * View members
    * View presence status
    * View reactions
    * View reminders

    All 22 actions at this level:

    | Works on            | Action                                  | What it does                                                                                                                                                                         | Slug                                            |
    | ------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------- |
    | **Apps**            | List restricted apps                    | List restricted apps for an org or workspace.                                                                                                                                        | `SLACK_LIST_RESTRICTED_APPS`                    |
    | **Audit logs**      | Read audit logs                         | Read Slack Enterprise Grid Audit Logs (logins, admin changes, app installs, channel/privacy changes, etc.) with server-side filters and pagination.                                  | `SLACK_READ_AUDIT_LOGS`                         |
    | **Conversations**   | Admin conversations search              | Search for public or private channels in an Enterprise organization.                                                                                                                 | `SLACK_ADMIN_CONVERSATIONS_SEARCH`              |
    | **Emoji**           | List admin emoji                        | List custom emoji across an Enterprise Grid organization.                                                                                                                            | `SLACK_LIST_ADMIN_EMOJI`                        |
    | **Files**           | Download Slack file                     | Download Slack file content and convert it to a publicly accessible URL.                                                                                                             | `SLACK_DOWNLOAD_SLACK_FILE`                     |
    | **Groups**          | List idp groups linked to channel       | Lists IDP groups that have restricted access to a private Slack channel.                                                                                                             | `SLACK_LIST_IDP_GROUPS_LINKED_TO_CHANNEL`       |
    |                     | List user groups                        | Lists user groups in a Slack workspace, including user-created and default groups.                                                                                                   | `SLACK_LIST_USER_GROUPS`                        |
    | **Invitations**     | List approved workspace invite requests | List all approved workspace invite requests with pagination support.                                                                                                                 | `SLACK_LIST_APPROVED_WORKSPACE_INVITE_REQUESTS` |
    | **Members**         | List user group members                 | Retrieves a list of all user IDs within a specified Slack user group, with an option to include users from disabled groups.                                                          | `SLACK_LIST_USER_GROUP_MEMBERS`                 |
    | **Presence status** | Get user presence                       | Retrieves a Slack user's current real-time presence (e.g., 'active', 'away') to determine their availability, noting this action does not provide historical data or status reasons. | `SLACK_GET_USER_PRESENCE`                       |
    | **Reactions**       | List user reactions                     | Lists all reactions added by a specific user to messages, files, or file comments in Slack, useful for engagement analysis when the item content itself is not required.             | `SLACK_LIST_USER_REACTIONS`                     |
    | **Reminders**       | Get reminder                            | Retrieves detailed information for an existing Slack reminder specified by its ID.                                                                                                   | `SLACK_GET_REMINDER`                            |
    | **Sections**        | Lookup canvas sections                  | Looks up section IDs in a Slack Canvas for use with targeted edit operations.                                                                                                        | `SLACK_LOOKUP_CANVAS_SECTIONS`                  |
    | **Settings**        | Get channel conversation preferences    | Retrieves conversation preferences (e.g., who can post, who can thread) for a specified channel, primarily for use within Slack Enterprise Grid environments.                        | `SLACK_GET_CHANNEL_CONVERSATION_PREFERENCES`    |
    |                     | Get workspace settings                  | Retrieves detailed settings for a specific Slack workspace, primarily for administrators in an Enterprise Grid organization to view or audit workspace configurations.               | `SLACK_GET_WORKSPACE_SETTINGS`                  |
    | **Users**           | Find user by email address              | Retrieves the Slack user object for an active user by their registered email address.                                                                                                | `SLACK_FIND_USER_BY_EMAIL_ADDRESS`              |
    |                     | Get bot user                            | Fetches information for a specified, existing Slack bot user.                                                                                                                        | `SLACK_GET_BOT_USER`                            |
    |                     | List workspace users                    | Retrieves a paginated list of admin users for a specified Slack workspace.                                                                                                           | `SLACK_LIST_WORKSPACE_USERS`                    |
    |                     | Set user active                         | Mark a user as active in Slack.                                                                                                                                                      | `SLACK_SET_USER_ACTIVE`                         |
    | **Other actions**   | Get canvas                              | DEPRECATED: Use SLACK\_RETRIEVE\_DETAILED\_INFORMATION\_ABOUT\_A\_FILE instead.                                                                                                      | `SLACK_GET_CANVAS`                              |
    |                     | List canvases                           | DEPRECATED: Use SLACK\_LIST\_FILES\_WITH\_FILTERS\_IN\_SLACK instead (pass types="canvas" for equivalent behavior).                                                                  | `SLACK_LIST_CANVASES`                           |
    |                     | List custom emojis                      | Retrieves all custom emojis for the Slack workspace (image URLs or aliases), not standard Unicode emojis.                                                                            | `SLACK_LIST_CUSTOM_EMOJIS`                      |
  </Accordion>

  <Accordion title="Read + send">
    Agents can use 141 of the 163 Slack actions at this level: everything in **Read-only**, plus:

    * View, search, update, send, and manage messages
    * View, create, update, archive, and manage conversations
    * View, search, create, update, and archive channels
    * View and update items
    * Create and update groups
    * View and create teams
    * Create and update users
    * View, update, and start calls
    * Create, update, and share files
    * View and update profiles
    * Update and manage direct messages
    * Create and update emoji

    The 119 actions that this level adds to **Read-only**:

    <AccordionGroup>
      <Accordion title="Account details (1)">
        | Action   | What it does | Slug             |
        | -------- | ------------ | ---------------- |
        | Who am I |              | `SLACK_WHO_AM_I` |
      </Accordion>

      <Accordion title="Admins (1)">
        | Action                | What it does                                | Slug                          |
        | --------------------- | ------------------------------------------- | ----------------------------- |
        | List workspace admins | List all admins on a given Slack workspace. | `SLACK_LIST_WORKSPACE_ADMINS` |
      </Accordion>

      <Accordion title="Apps (2)">
        | Action                   | What it does                                                         | Slug                             |
        | ------------------------ | -------------------------------------------------------------------- | -------------------------------- |
        | List admin apps approved | List approved apps for an Enterprise Grid organization or workspace. | `SLACK_LIST_ADMIN_APPS_APPROVED` |
        | List admin apps requests | List pending app installation requests for a team/workspace.         | `SLACK_LIST_ADMIN_APPS_REQUESTS` |
      </Accordion>

      <Accordion title="Calls (3)">
        | Action           | What it does                                                                                          | Slug                     |
        | ---------------- | ----------------------------------------------------------------------------------------------------- | ------------------------ |
        | Get call info    | Retrieves a point-in-time snapshot of a specific Slack call's information.                            | `SLACK_GET_CALL_INFO`    |
        | Start call       | Registers a new call in Slack using calls.add for third-party call integration.                       | `SLACK_START_CALL`       |
        | Update call info | Updates the title, join URL, or desktop app join URL for an existing Slack call identified by its ID. | `SLACK_UPDATE_CALL_INFO` |
      </Accordion>

      <Accordion title="Channels (5)">
        | Action               | What it does                                                                       | Slug                         |
        | -------------------- | ---------------------------------------------------------------------------------- | ---------------------------- |
        | Create channel       | Initiates a public or private channel-based conversation in a Slack workspace.     | `SLACK_CREATE_CHANNEL`       |
        | Find channels        | Find channels in a Slack workspace by any criteria.                                | `SLACK_FIND_CHANNELS`        |
        | List all channels    | Lists conversations available to the user with various filters and search options. | `SLACK_LIST_ALL_CHANNELS`    |
        | Set default channels | Set the default channels of a workspace.                                           | `SLACK_SET_DEFAULT_CHANNELS` |
        | Unarchive channel    | Reverses conversation archival.                                                    | `SLACK_UNARCHIVE_CHANNEL`    |
      </Accordion>

      <Accordion title="Connections (1)">
        | Action                                | What it does                                                           | Slug                                          |
        | ------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------- |
        | Get workspace connections for channel | Get all workspaces a channel is connected to within an Enterprise org. | `SLACK_GET_WORKSPACE_CONNECTIONS_FOR_CHANNEL` |
      </Accordion>

      <Accordion title="Conversations (11)">
        | Action                            | What it does                                                                                                                                                                                                | Slug                                      |
        | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
        | Archive conversation              | Archives a Slack conversation by its ID, rendering it read-only and hidden while retaining history, ideal for cleaning up inactive channels.                                                                | `SLACK_ARCHIVE_CONVERSATION`              |
        | Create channel based conversation | Creates a new public or private Slack channel with a unique name.                                                                                                                                           | `SLACK_CREATE_CHANNEL_BASED_CONVERSATION` |
        | Join an existing conversation     | Joins an existing Slack conversation (public channel, private channel, or multi-person direct message) by its ID, if the authenticated user has permission.                                                 | `SLACK_JOIN_AN_EXISTING_CONVERSATION`     |
        | Leave a conversation              | (DEPRECATED: use SLACK\_LEAVE\_CONVERSATION) Leaves a Slack conversation given its channel ID.                                                                                                              | `SLACK_LEAVE_A_CONVERSATION`              |
        | Leave conversation                | Leaves a Slack conversation given its channel ID.                                                                                                                                                           | `SLACK_LEAVE_CONVERSATION`                |
        | List conversations                | List conversations (channels/DMs) accessible to a specified user (or the authenticated user if no user ID is provided), respecting shared membership for non-public channels.                               | `SLACK_LIST_CONVERSATIONS`                |
        | Rename conversation               | Renames a Slack channel, automatically adjusting the new name to meet naming conventions (e.g., converting to lowercase), which may affect integrations using the old name.                                 | `SLACK_RENAME_CONVERSATION`               |
        | Retrieve conversation information | Retrieves metadata for a Slack conversation by ID (e.g., name, purpose, creation date, with options for member count/locale), excluding message content.                                                    | `SLACK_RETRIEVE_CONVERSATION_INFORMATION` |
        | Set conversation purpose          | Sets the purpose (a short description of its topic/goal, displayed in the header) for a Slack conversation.                                                                                                 | `SLACK_SET_CONVERSATION_PURPOSE`          |
        | Set read cursor in a conversation | Marks a message, specified by its timestamp (ts), as the most recently read for the authenticated user in the given channel, provided the user is a member of the channel and the message exists within it. | `SLACK_SET_READ_CURSOR_IN_A_CONVERSATION` |
        | Set the topic of a conversation   | Sets or updates the topic for a specified Slack conversation.                                                                                                                                               | `SLACK_SET_THE_TOPIC_OF_A_CONVERSATION`   |
      </Accordion>

      <Accordion title="Direct messages (2)">
        | Action   | What it does                                                                                                                                    | Slug             |
        | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
        | Close dm | Closes a Slack direct message (DM) or multi-person direct message (MPDM) channel, removing it from the user's sidebar without deleting history. | `SLACK_CLOSE_DM` |
        | Open dm  | Opens or resumes a Slack direct message (DM) or multi-person direct message (MPIM) by providing either user IDs or an existing channel ID.      | `SLACK_OPEN_DM`  |
      </Accordion>

      <Accordion title="Emoji (3)">
        | Action          | What it does                                                                        | Slug                    |
        | --------------- | ----------------------------------------------------------------------------------- | ----------------------- |
        | Add emoji       | Adds a custom emoji to a Slack workspace given a unique name and an image URL.      | `SLACK_ADD_EMOJI`       |
        | Add emoji alias | Adds an alias for an existing custom emoji in a Slack Enterprise Grid organization. | `SLACK_ADD_EMOJI_ALIAS` |
        | Rename emoji    | Renames an existing custom emoji in a Slack workspace, updating all its instances.  | `SLACK_RENAME_EMOJI`    |
      </Accordion>

      <Accordion title="Files (9)">
        | Action                                     | What it does                                                                                                                                                                     | Slug                                               |
        | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
        | Add remote file                            | Adds a reference to an external file (e.g., Google Drive, Dropbox) to Slack for discovery and sharing, requiring a unique external\_id and an external\_url accessible by Slack. | `SLACK_ADD_REMOTE_FILE`                            |
        | Enable public sharing of a file            | Enables public sharing for an existing Slack file by generating a publicly accessible URL.                                                                                       | `SLACK_ENABLE_PUBLIC_SHARING_OF_A_FILE`            |
        | Get remote file                            | Retrieve information about a remote file added to Slack via the files.remote API.                                                                                                | `SLACK_GET_REMOTE_FILE`                            |
        | List files with filters in Slack           | Lists files and their metadata within a Slack workspace, filterable by user, channel, timestamp, or type.                                                                        | `SLACK_LIST_FILES_WITH_FILTERS_IN_SLACK`           |
        | List remote files                          | Retrieve information about a team's remote files.                                                                                                                                | `SLACK_LIST_REMOTE_FILES`                          |
        | Retrieve detailed information about a file | Retrieves detailed metadata and paginated comments for a specific Slack file ID.                                                                                                 | `SLACK_RETRIEVE_DETAILED_INFORMATION_ABOUT_A_FILE` |
        | Share remote file                          | Shares a remote file, which must already be registered with Slack, into specified Slack channels or direct message conversations.                                                | `SLACK_SHARE_REMOTE_FILE`                          |
        | Update remote file                         | Updates metadata or content details for an existing remote file in Slack.                                                                                                        | `SLACK_UPDATE_REMOTE_FILE`                         |
        | Upload or create a file in Slack           | Upload files, images, screenshots, documents, or any media to Slack channels or threads.                                                                                         | `SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK`           |
      </Accordion>

      <Accordion title="Groups (4)">
        | Action             | What it does                                                                                                                                                                     | Slug                       |
        | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
        | Create user group  | Creates a new User Group (often referred to as a subteam) in a Slack workspace.                                                                                                  | `SLACK_CREATE_USER_GROUP`  |
        | Disable user group | Disables a specified, currently enabled Slack User Group by its unique ID, effectively archiving it by setting its 'date\_delete' timestamp.                                     | `SLACK_DISABLE_USER_GROUP` |
        | Enable user group  | Enables a disabled User Group in Slack using its ID, reactivating it for mentions and permissions.                                                                               | `SLACK_ENABLE_USER_GROUP`  |
        | Update user group  | Updates an existing Slack User Group, which must be specified by an existing usergroup ID, with new optional details such as its name, description, handle, or default channels. | `SLACK_UPDATE_USER_GROUP`  |
      </Accordion>

      <Accordion title="History (1)">
        | Action                     | What it does                                                                                                                                                                             | Slug                               |
        | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
        | Fetch conversation history | Fetches a chronological list of messages and events from a specified Slack conversation, accessible by the authenticated user/bot, with options for pagination and time range filtering. | `SLACK_FETCH_CONVERSATION_HISTORY` |
      </Accordion>

      <Accordion title="Identities (1)">
        | Action                             | What it does                                                                                                                                                      | Slug                                       |
        | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
        | Retrieve a user s identity details | Retrieves the authenticated user's and their team's identity, with details varying based on OAuth scopes (e.g., identity.basic, identity.email, identity.avatar). | `SLACK_RETRIEVE_A_USER_S_IDENTITY_DETAILS` |
      </Accordion>

      <Accordion title="Installed apps (1)">
        | Action                    | What it does                                     | Slug                              |
        | ------------------------- | ------------------------------------------------ | --------------------------------- |
        | Restrict app installation | Restrict an app for installation on a workspace. | `SLACK_RESTRICT_APP_INSTALLATION` |
      </Accordion>

      <Accordion title="Invitations (2)">
        | Action                                 | What it does                                                                           | Slug                                           |
        | -------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------- |
        | List denied workspace invite requests  | List all denied workspace invite requests with details about who denied them and when. | `SLACK_LIST_DENIED_WORKSPACE_INVITE_REQUESTS`  |
        | List pending workspace invite requests | List all pending workspace invite requests.                                            | `SLACK_LIST_PENDING_WORKSPACE_INVITE_REQUESTS` |
      </Accordion>

      <Accordion title="Items (5)">
        | Action                | What it does                                                    | Slug                          |
        | --------------------- | --------------------------------------------------------------- | ----------------------------- |
        | Get Slack list item   |                                                                 | `SLACK_GET_SLACK_LIST_ITEM`   |
        | List pinned items     | Retrieves all messages and files pinned to a specified channel. | `SLACK_LIST_PINNED_ITEMS`     |
        | List Slack list items |                                                                 | `SLACK_LIST_SLACK_LIST_ITEMS` |
        | List starred items    | Lists items starred by a user.                                  | `SLACK_LIST_STARRED_ITEMS`    |
        | Pin item              | Pins a message to a specified Slack channel.                    | `SLACK_PIN_ITEM`              |
      </Accordion>

      <Accordion title="Lists (1)">
        | Action                             | What it does                                                                                                                                         | Slug                                       |
        | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
        | Retrieve conversation members list | Retrieves a paginated list of active member IDs (not names, emails, or presence) for a specified Slack public channel, private channel, DM, or MPIM. | `SLACK_RETRIEVE_CONVERSATION_MEMBERS_LIST` |
      </Accordion>

      <Accordion title="Members (1)">
        | Action                    | What it does                                                                            | Slug                              |
        | ------------------------- | --------------------------------------------------------------------------------------- | --------------------------------- |
        | Update user group members | Replaces all members of an existing Slack User Group with a new list of valid user IDs. | `SLACK_UPDATE_USER_GROUP_MEMBERS` |
      </Accordion>

      <Accordion title="Messages (11)">
        | Action                         | What it does                                                                                                                                                                                               | Slug                                   |
        | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
        | Chat post message              | (DEPRECATED: use SLACK\_SEND\_MESSAGE) Posts a message to a Slack channel, DM, or private group.                                                                                                           | `SLACK_CHAT_POST_MESSAGE`              |
        | Get unread messages from user  |                                                                                                                                                                                                            | `SLACK_GET_UNREAD_MESSAGES_FROM_USER`  |
        | List scheduled messages        | Retrieves a list of pending (not yet delivered) messages scheduled in a specific Slack channel, or across all accessible channels if no channel ID is provided, optionally filtered by time and paginated. | `SLACK_LIST_SCHEDULED_MESSAGES`        |
        | List unread channel messages   |                                                                                                                                                                                                            | `SLACK_LIST_UNREAD_CHANNEL_MESSAGES`   |
        | Retrieve message permalink URL | Retrieves a permalink URL for a specific message in a Slack channel or conversation.                                                                                                                       | `SLACK_RETRIEVE_MESSAGE_PERMALINK_URL` |
        | Schedule message               | Schedules a message to a Slack channel, DM, or private group for a future time (post\_at), requiring text, blocks, or attachments for content.                                                             | `SLACK_SCHEDULE_MESSAGE`               |
        | Search messages                | Workspace‑wide Slack message search with date ranges and filters.                                                                                                                                          | `SLACK_SEARCH_MESSAGES`                |
        | Send ephemeral message         | Sends an ephemeral message visible only to the specified user in a channel.                                                                                                                                | `SLACK_SEND_EPHEMERAL_MESSAGE`         |
        | Send me message                | Sends a 'me message' (e.g., '/me is typing') to a Slack channel, where it's displayed as a third-person user action.                                                                                       | `SLACK_SEND_ME_MESSAGE`                |
        | Send message                   | Posts a message to a Slack channel, DM, or private group.                                                                                                                                                  | `SLACK_SEND_MESSAGE`                   |
        | Updates a Slack message        | Updates a Slack message by timestamp.                                                                                                                                                                      | `SLACK_UPDATES_A_SLACK_MESSAGE`        |
      </Accordion>

      <Accordion title="Owners (2)">
        | Action                | What it does                                                                | Slug                          |
        | --------------------- | --------------------------------------------------------------------------- | ----------------------------- |
        | List workspace owners | List all owners on a given Slack workspace.                                 | `SLACK_LIST_WORKSPACE_OWNERS` |
        | Set workspace owner   | Set an existing guest, regular user, or admin user to be a workspace owner. | `SLACK_SET_WORKSPACE_OWNER`   |
      </Accordion>

      <Accordion title="Participants (2)">
        | Action                   | What it does                                      | Slug                             |
        | ------------------------ | ------------------------------------------------- | -------------------------------- |
        | Add call participants    | Registers new participants added to a Slack call. | `SLACK_ADD_CALL_PARTICIPANTS`    |
        | Remove call participants | Registers participants removed from a Slack call. | `SLACK_REMOVE_CALL_PARTICIPANTS` |
      </Accordion>

      <Accordion title="Photos (1)">
        | Action            | What it does                                            | Slug                      |
        | ----------------- | ------------------------------------------------------- | ------------------------- |
        | Set profile photo | This method allows the user to set their profile image. | `SLACK_SET_PROFILE_PHOTO` |
      </Accordion>

      <Accordion title="Presence status (2)">
        | Action                     | What it does                                                                                                        | Slug                               |
        | -------------------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
        | Manually set user presence | (DEPRECATED: use SLACK\_SET\_USER\_PRESENCE) Manually sets a user's Slack presence, overriding automatic detection. | `SLACK_MANUALLY_SET_USER_PRESENCE` |
        | Set user presence          | Manually sets a user's Slack presence, overriding automatic detection.                                              | `SLACK_SET_USER_PRESENCE`          |
      </Accordion>

      <Accordion title="Profiles (3)">
        | Action                            | What it does                                                                                                                             | Slug                                      |
        | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
        | Get team profile                  | Retrieves all profile field definitions for a Slack team, optionally filtered by visibility, to understand the team's profile structure. | `SLACK_GET_TEAM_PROFILE`                  |
        | Retrieve user profile information | Retrieves profile information for a specified Slack user (defaults to the authenticated user if user ID is omitted).                     | `SLACK_RETRIEVE_USER_PROFILE_INFORMATION` |
        | Set user profile                  | Updates a Slack user's profile, setting either individual fields or multiple fields via a JSON object.                                   | `SLACK_SET_USER_PROFILE`                  |
      </Accordion>

      <Accordion title="Reactions (2)">
        | Action                  | What it does                                                                                            | Slug                            |
        | ----------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------- |
        | Add reaction to an item | Adds a specified emoji reaction to an existing message in a Slack channel, identified by its timestamp. | `SLACK_ADD_REACTION_TO_AN_ITEM` |
        | Fetch item reactions    | Fetches reactions for a Slack message, file, or file comment.                                           | `SLACK_FETCH_ITEM_REACTIONS`    |
      </Accordion>

      <Accordion title="Reminders (2)">
        | Action            | What it does                                                             | Slug                      |
        | ----------------- | ------------------------------------------------------------------------ | ------------------------- |
        | Create a reminder | Creates a Slack reminder with specified text and time.                   | `SLACK_CREATE_A_REMINDER` |
        | List reminders    | Lists all reminders with their details for the authenticated Slack user. | `SLACK_LIST_REMINDERS`    |
      </Accordion>

      <Accordion title="Roles and permissions (1)">
        | Action                    | What it does                               | Slug                              |
        | ------------------------- | ------------------------------------------ | --------------------------------- |
        | Get app permission scopes | DEPRECATED: Use SLACK\_TEST\_AUTH instead. | `SLACK_GET_APP_PERMISSION_SCOPES` |
      </Accordion>

      <Accordion title="Schemas (1)">
        | Action            | What it does                                                      | Slug                      |
        | ----------------- | ----------------------------------------------------------------- | ------------------------- |
        | Get audit schemas | Retrieve object schema information from the Slack Audit Logs API. | `SLACK_GET_AUDIT_SCHEMAS` |
      </Accordion>

      <Accordion title="Settings (2)">
        | Action                 | What it does                                                           | Slug                           |
        | ---------------------- | ---------------------------------------------------------------------- | ------------------------------ |
        | SCIM get config        | Retrieve SCIM service provider configuration from Slack.               | `SLACK_SCIM_GET_CONFIG`        |
        | Set conversation prefs | Sets the posting permissions for a public or private channel in Slack. | `SLACK_SET_CONVERSATION_PREFS` |
      </Accordion>

      <Accordion title="Stars (1)">
        | Action   | What it does                                                         | Slug             |
        | -------- | -------------------------------------------------------------------- | ---------------- |
        | Add star | Stars a channel, file, file comment, or a specific message in Slack. | `SLACK_ADD_STAR` |
      </Accordion>

      <Accordion title="Teams (4)">
        | Action                 | What it does                                                                                                       | Slug                           |
        | ---------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------ |
        | Create enterprise team | Create an Enterprise team in Slack.                                                                                | `SLACK_CREATE_ENTERPRISE_TEAM` |
        | Fetch team info        | Fetches comprehensive metadata about the current Slack team, or a specified team if the provided ID is accessible. | `SLACK_FETCH_TEAM_INFO`        |
        | List auth teams        | Obtains a paginated list of workspaces your org-wide app has been approved for.                                    | `SLACK_LIST_AUTH_TEAMS`        |
        | List enterprise teams  | List all teams (workspaces) in a Slack Enterprise Grid organization with pagination support.                       | `SLACK_LIST_ENTERPRISE_TEAMS`  |
      </Accordion>

      <Accordion title="Threads (1)">
        | Action                                   | What it does                                                                                                                          | Slug                                             |
        | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
        | Fetch message thread from a conversation | Retrieves replies to a specific parent message in a Slack conversation, using the channel ID and the parent message's timestamp (ts). | `SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION` |
      </Accordion>

      <Accordion title="Types (1)">
        | Action                 | What it does                                                                   | Slug                           |
        | ---------------------- | ------------------------------------------------------------------------------ | ------------------------------ |
        | Get audit action types | Retrieve information about action types available in the Slack Audit Logs API. | `SLACK_GET_AUDIT_ACTION_TYPES` |
      </Accordion>

      <Accordion title="Users (10)">
        | Action                             | What it does                                                                                                      | Slug                                       |
        | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
        | Add enterprise user to workspace   | Adds an Enterprise user to a workspace.                                                                           | `SLACK_ADD_ENTERPRISE_USER_TO_WORKSPACE`   |
        | Find users                         | Find users in a Slack workspace by any criteria.                                                                  | `SLACK_FIND_USERS`                         |
        | Get user dnd status                | Retrieves a user's current Do Not Disturb status.                                                                 | `SLACK_GET_USER_DND_STATUS`                |
        | Invite user to channel             | Invites users to a specified Slack channel.                                                                       | `SLACK_INVITE_USER_TO_CHANNEL`             |
        | Invite user to workspace           | Invites a user to a Slack workspace and specified channels by email.                                              | `SLACK_INVITE_USER_TO_WORKSPACE`           |
        | Invite users to a Slack channel    | Invites users to an existing Slack channel using their valid Slack User IDs.                                      | `SLACK_INVITE_USERS_TO_A_SLACK_CHANNEL`    |
        | List all users                     | Retrieves a paginated list of all users with profile details, status, and team memberships in a Slack workspace.  | `SLACK_LIST_ALL_USERS`                     |
        | Retrieve current user dnd status   | Retrieves a Slack user's current Do Not Disturb (DND) status to determine their availability before interaction.  | `SLACK_RETRIEVE_CURRENT_USER_DND_STATUS`   |
        | Retrieve detailed user information | Retrieves comprehensive information for a valid Slack user ID, excluding message history and channel memberships. | `SLACK_RETRIEVE_DETAILED_USER_INFORMATION` |
        | Set admin user                     | Promotes an existing workspace member (guest, regular user, or owner) to admin status.                            | `SLACK_SET_ADMIN_USER`                     |
      </Accordion>

      <Accordion title="Workspaces (5)">
        | Action                     | What it does                                                            | Slug                               |
        | -------------------------- | ----------------------------------------------------------------------- | ---------------------------------- |
        | List available workspaces  |                                                                         | `SLACK_LIST_AVAILABLE_WORKSPACES`  |
        | Set workspace description  | Set the description of a given workspace.                               | `SLACK_SET_WORKSPACE_DESCRIPTION`  |
        | Set workspace icon         | Sets the icon of a workspace.                                           | `SLACK_SET_WORKSPACE_ICON`         |
        | Set workspace name         | Set the name of a given Slack workspace.                                | `SLACK_SET_WORKSPACE_NAME`         |
        | Set workspaces for channel | Set the workspaces in an Enterprise grid org that connect to a channel. | `SLACK_SET_WORKSPACES_FOR_CHANNEL` |
      </Accordion>

      <Accordion title="Other actions (14)">
        | Action                   | What it does                                                                                                                                              | Slug                             |
        | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
        | API test                 | Check API calling code by testing connectivity and authentication to the Slack API.                                                                       | `SLACK_API_TEST`                 |
        | Assistant search context | Search Slack messages, files, channels, and users via Real-time Search API.                                                                               | `SLACK_ASSISTANT_SEARCH_CONTEXT` |
        | Assistant search info    | Check if semantic (AI-powered) search is available on the Slack workspace.                                                                                | `SLACK_ASSISTANT_SEARCH_INFO`    |
        | Create canvas            | Creates a new Slack Canvas with the specified title and optional content.                                                                                 | `SLACK_CREATE_CANVAS`            |
        | Customize URL unfurl     | Customizes URL previews (unfurling) in a specific Slack message using a URL-encoded JSON in unfurls to define custom content or remove existing previews. | `SLACK_CUSTOMIZE_URL_UNFURL`     |
        | Edit canvas              | Edits a Slack Canvas with granular control over content placement.                                                                                        | `SLACK_EDIT_CANVAS`              |
        | End dnd                  | Ends the authenticated user's current Do Not Disturb (DND) session in Slack, affecting only DND status and making them available.                         | `SLACK_END_DND`                  |
        | End snooze               | Ends the current user's snooze mode immediately.                                                                                                          | `SLACK_END_SNOOZE`               |
        | Rtm connect              | Starts a Real Time Messaging session and returns a WebSocket URL.                                                                                         | `SLACK_RTM_CONNECT`              |
        | Rtm start                | Starts a Real Time Messaging API session for Slack.                                                                                                       | `SLACK_RTM_START`                |
        | Search all               | Search all messages and files.                                                                                                                            | `SLACK_SEARCH_ALL`               |
        | Set dnd duration         | Turns on Do Not Disturb mode for the current user, or changes its duration.                                                                               | `SLACK_SET_DND_DURATION`         |
        | Set status               | (DEPRECATED: use SLACK\_SET\_USER\_PROFILE) Updates a Slack user's profile, setting either individual fields or multiple fields via a JSON object.        | `SLACK_SET_STATUS`               |
        | Test auth                | Checks authentication and tells you who you are.                                                                                                          | `SLACK_TEST_AUTH`                |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Full access (recommended)">
    Agents can use 163 of the 163 Slack actions at this level: everything in **Read + send**, plus:

    * Delete files
    * Delete items
    * Delete messages
    * Stop calls
    * Delete channels
    * Delete comments
    * Delete emoji
    * Delete photos
    * Delete reminders
    * Update sessions
    * Delete stars

    The 22 actions that this level adds to **Read + send**:

    | Works on          | Action                           | What it does                                                                                                                                                                                                                               | Slug                                     |
    | ----------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- |
    | **Calls**         | End call                         | Ends an ongoing Slack call, identified by its ID (obtained from calls.add), optionally specifying the call's duration.                                                                                                                     | `SLACK_END_CALL`                         |
    | **Channels**      | Convert channel to private       | Convert a public Slack channel to private using the Admin API.                                                                                                                                                                             | `SLACK_CONVERT_CHANNEL_TO_PRIVATE`       |
    |                   | Delete channel                   | Permanently and irreversibly deletes a specified public or private channel, including all its messages and files, within a Slack Enterprise Grid organization.                                                                             | `SLACK_DELETE_CHANNEL`                   |
    | **Comments**      | Delete file comment              | Deletes a specific comment from a file in Slack.                                                                                                                                                                                           | `SLACK_DELETE_FILE_COMMENT`              |
    | **Emoji**         | Remove emoji                     | Remove a custom emoji across an Enterprise Grid organization.                                                                                                                                                                              | `SLACK_REMOVE_EMOJI`                     |
    | **Files**         | Delete file                      | Permanently deletes an existing file from a Slack workspace using its unique file ID.                                                                                                                                                      | `SLACK_DELETE_FILE`                      |
    |                   | Remove remote file               | Removes the Slack reference to an external file (which must have been previously added via the remote files API), specified by either its external\_id or file ID (one of which is required), without deleting the actual external file.   | `SLACK_REMOVE_REMOTE_FILE`               |
    |                   | Revoke file public sharing       | Revokes a Slack file's public URL, making it private.                                                                                                                                                                                      | `SLACK_REVOKE_FILE_PUBLIC_SHARING`       |
    | **Items**         | Delete multiple Slack list items |                                                                                                                                                                                                                                            | `SLACK_DELETE_MULTIPLE_SLACK_LIST_ITEMS` |
    |                   | Delete Slack list item           |                                                                                                                                                                                                                                            | `SLACK_DELETE_SLACK_LIST_ITEM`           |
    |                   | Unpin item                       | Unpins a message, identified by its timestamp, from a specified channel if the message is currently pinned there.                                                                                                                          | `SLACK_UNPIN_ITEM`                       |
    | **Lists**         | Delete Slack list access         |                                                                                                                                                                                                                                            | `SLACK_DELETE_SLACK_LIST_ACCESS`         |
    | **Messages**      | Delete scheduled message         | Deletes a pending, unsent scheduled message from the specified Slack channel, identified by its scheduled\_message\_id.                                                                                                                    | `SLACK_DELETE_SCHEDULED_MESSAGE`         |
    |                   | Deletes a message from a chat    | Deletes a message, identified by its channel ID and timestamp, from a Slack channel, private group, or direct message conversation.                                                                                                        | `SLACK_DELETES_A_MESSAGE_FROM_A_CHAT`    |
    | **Photos**        | Delete user profile photo        | Deletes the Slack profile photo for the user identified by the token, reverting them to the default avatar.                                                                                                                                | `SLACK_DELETE_USER_PROFILE_PHOTO`        |
    | **Reactions**     | Remove reaction from item        | Removes an emoji reaction from a message, file, or file comment in Slack.                                                                                                                                                                  | `SLACK_REMOVE_REACTION_FROM_ITEM`        |
    | **Reminders**     | Delete reminder                  | Deletes an existing Slack reminder, typically when it is no longer relevant or a task is completed.                                                                                                                                        | `SLACK_DELETE_REMINDER`                  |
    | **Sessions**      | Reset user sessions              | Wipe all valid sessions on all devices for a given user.                                                                                                                                                                                   | `SLACK_RESET_USER_SESSIONS`              |
    | **Stars**         | Remove star                      | Removes a star from a previously starred Slack item (message, file, file comment, channel, group, or DM), requiring identification via file, file\_comment, channel (for channel/group/DM), or both channel and timestamp (for a message). | `SLACK_REMOVE_STAR`                      |
    | **Users**         | Remove user from conversation    | Removes a specified user from a Slack conversation (channel).                                                                                                                                                                              | `SLACK_REMOVE_USER_FROM_CONVERSATION`    |
    |                   | Remove user from workspace       | Remove a user from a Slack workspace.                                                                                                                                                                                                      | `SLACK_REMOVE_USER_FROM_WORKSPACE`       |
    | **Other actions** | Delete canvas                    | Deletes a Slack Canvas permanently and irreversibly.                                                                                                                                                                                       | `SLACK_DELETE_CANVAS`                    |
  </Accordion>
</AccordionGroup>

## Connect Slack

Before you start:

* You need a Slack account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Slack">
    Find **Slack** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Slack">
    Click **Connect Slack**. The Slack sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Slack">
    Sign in to Slack and approve the request.
  </Step>
</Steps>

Check that it works: Slack shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Slack account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Slack account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Slack account

Click **+ Account** on the Slack card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Slack side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Slack**.
3. Sign in to Slack and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Slack account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Slack account becomes primary.</Warning>

## Costs

Slack actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Slack, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Slack connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Slack?">
    Each Slack account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Slack account?">
    Click **+ Account** on the Slack card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Slack?">
    Open the account menu (⋯) on the Slack account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
