{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["platform-badges","admonition","img","cards","card"]},"redocly_category":"AI","product_name":"Treasure AI Studio","type":"markdown"},"seo":{"title":"Slack Bots in Treasure AI Studio","description":"Create a Slack bot in Agent Channels that lets your Slack workspace use a shared work folder by DM or mention, with each person's own permissions.","siteUrl":"https://docs.treasure.ai","image":"/assets/treasure-ai-social-preview.e6fefb35676f6da91c2d1bc783bd39e618e7af2b1ad3aa52a96ae69d72e700fe.b1bff462.png","lang":"en-US","jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.treasure.ai/","name":"Treasure AI","url":"https://www.treasure.ai/","logo":"https://www.treasure.ai/hubfs/assets/images/logos/primary-logo.svg"},{"@type":"WebSite","@id":"https://docs.treasure.ai/#website","name":"Treasure AI Documentation","url":"https://docs.treasure.ai/","inLanguage":["en","ja"],"publisher":{"@id":"https://www.treasure.ai/"}}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"slack-bots","__idx":0},"children":["Slack Bots"]},{"$$mdtype":"Tag","name":"PlatformBadges","attributes":{"platforms":["Web","Desktop"]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A Slack bot is an ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/agent-channels/"},"children":["Agent Channel"]}," that brings a shared work folder into a Slack workspace. The work folder's instructions, Skills, and reference files become available to people who message the bot directly or mention it in a channel. Each request runs as the person who sent it, with that person's permissions, connections, and credits, and reads only the one shared work folder the bot was created with."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create one when a team wants to ask the same work folder questions from Slack without opening Treasure AI Studio. Someone who manages the work folder creates the bot, creates a Slack app for it, and installs that app into the workspace. After that, each person signs in once from Slack and can use the bot. This page covers creating, installing, and managing the bot. ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/agent-channels/slack-chat"},"children":["Using a Slack Bot"]}," covers what people do in Slack."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"A Slack bot is different from a Slack connection"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/connections/slack"},"children":["Connect Slack"]}," describes the connection that lets Treasure AI Studio agents read and post Slack messages during a chat. A Slack bot does the reverse: it lets people in Slack talk to a Treasure AI Studio work folder. Setting up one does not set up the other."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-a-slack-bot-differs-from-other-agent-channels","__idx":1},"children":["How a Slack Bot Differs from Other Agent Channels"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"24%","data-label":"Aspect"},"children":["Aspect "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"76%","data-label":"Slack bot"},"children":["Slack bot "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Runs as"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Treasure AI Studio user each person linked to their Slack account. Each request uses that person's permissions, connections, and credits"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Work folder reached"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One shared work folder, chosen when the bot is created. The chat reads it read-only and writes only to its own working area"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Who connects"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Members of the bot's account who link their Slack user from the bot's DM and approve the link. Treasure AI Studio checks each new request against the current access"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Who creates it"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A work folder manager, subject to the account's creation policy"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The other kinds of channel are described on the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/agent-channels/"},"children":["Agent Channels overview"]},". An SDK App or a static-token MCP Endpoint runs as one fixed executor. An OAuth MCP Endpoint runs as the person who connected, but in all of that person's work folders. A Slack bot combines the person's identity with the single shared work folder."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-start","__idx":2},"children":["Before You Start"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A Treasure AI Studio account with access to Web or Desktop."]}," Slack bots are created and managed in Settings → Agent Channels. They cannot be set up from the Mobile app."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Manage access to a shared work folder."]}," Creating, editing, installing, and deleting a bot all require current manage access to the work folder the bot uses. Account administrators can also turn a bot on or off."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Permission to create bots under the account's creation policy."]}," By default, any work folder manager can create one. If the policy is limited to administrators, only account administrators can create one. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/agent-channels/sdk-apps#choose-who-can-create-agent-channels"},"children":["Choose Who Can Create Agent Channels"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A Configuration Token for the Slack workspace."]}," Treasure AI Studio uses this credential to create and update the Slack app for the bot. You create it in Slack, and you need to be able to choose the workspace where the bot will be installed. Treat the Refresh Token you copy from Slack as a password. Treasure AI Studio never displays a saved token again."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Slack-side approval, if your workspace requires it."]}," Installing an app into a Slack workspace is controlled by Slack. Depending on the workspace's app policy, a Slack administrator may need to approve the installation. Treasure AI Studio cannot grant that approval for you."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"register-a-configuration-token","__idx":3},"children":["Register a Configuration Token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You register a Configuration Token once, and then you can select it for any bot you create."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Agent Channels"]},", find the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Slack"]}," section, and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["My Configuration Tokens"]},". If you have not registered a token yet, the page shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No Configuration Tokens yet"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add token"]},". The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register Configuration Token"]}," dialog links to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Open Your App Configuration Tokens in Slack"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Slack, choose the workspace where the bot will be installed, and generate a token. Copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Refresh Token"]},", not the access token."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Treasure AI Studio, enter a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Label"]}," and paste the Refresh Token into ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Refresh Token"]},". Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register token"]},"."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-token-dialog.ff35c25381d48192486e010cb34dd280197dfb66377ab8553f9984a5a9a0cf12.679d8dbd.webp","alt":"The Register Configuration Token dialog, with a Label field and a Refresh Token field","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Treasure AI Studio exchanges the Refresh Token for new credentials at once and saves them. The Label is a name you choose to tell tokens apart. It is not the Slack workspace name."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A Refresh Token can be used only once. If Treasure AI Studio cannot renew a saved token, the token shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Needs renewal"]},". Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Renew"]}," on that token, then paste a newly issued Refresh Token from the same Slack workspace and the same Slack user. The token's ID and the bots that reference it are kept. Registering a new token with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register token"]}," creates a separate entry instead."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Deleting a token affects the bots that use it"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deleting a Configuration Token clears its reference from every bot, including archived ones. Changes to a bot's Slack app settings and automatic deletion of its Slack app then need another Configuration Token. Conversations that already use the bot keep their credentials."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-a-slack-bot","__idx":4},"children":["Create a Slack Bot"]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-empty.9edb2b2f7f48654c03d8b035231b3ac17b9c76a8b248c1fe8dcd2f03117125f4.679d8dbd.webp","alt":"The Agent Channels page with an empty Slack section and three steps: choose a work folder, create a Slack app, and approve the installation in Slack","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Agent Channels"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New Slack bot"]}," in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Slack"]}," section."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1 of 2"]},", enter a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}," of 2 to 35 characters. Use only lowercase letters ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["a"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["z"]},", digits ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["."]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["_"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-"]},". Japanese characters, spaces, and other characters are not allowed. The name is also the Slack app's name and the bot's display name in Slack."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Optionally, enter a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Comment"]}," of up to 1,000 characters. Account members can see the comment. It is not used as the Slack app's description."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-wizard-step1.5f3d24d642c1a43962eccac3eee00ea922dfbf483b018cb158d0e2842b6e53af.679d8dbd.webp","alt":"The New Slack bot form at Step 1 of 2, with the Name and Comment fields and a Next button","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":4},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Next"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2 of 2"]},", select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Shared work folder"]},". You can choose only shared work folders you manage, and you cannot change the shared work folder after the bot is created."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configuration Token"]},". Treasure AI Studio shows a sentence that states what the bot can do: it reads the work folder without changing it, using each person's permissions and credits."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-wizard-step2.d5b582345c20c2966ed5038a42261de64711816c63c457f0e46a832524ebb258.679d8dbd.webp","alt":"The New Slack bot form at Step 2 of 2, with the Shared work folder set to Marketing, the description of what the bot can do, and the Configuration Token selected","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":7},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Slack bot"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Treasure AI Studio saves the bot first, then creates the Slack app and sends the app's settings to Slack. When the bot is saved, the screen confirms that ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Slack installation is a separate step"]},". The bot is not usable until it is installed in the workspace."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If Slack rejects the app creation, the bot stays saved, and the detail page shows the failure. Use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#recover-a-slack-bot"},"children":["Recover a Slack Bot"]}," to continue from there. If the creation result is unknown instead, Treasure AI Studio blocks another creation attempt for that bot to avoid creating a duplicate app. Follow ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#when-slack-app-creation-cannot-be-confirmed"},"children":["When Slack App Creation Cannot Be Confirmed"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"install-the-slack-app","__idx":5},"children":["Install the Slack App"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A new bot shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Install in Slack"]}," on its detail page."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Generate installation link"]},"."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-install-link.2378bce8b9c252982642c2dde5933f013ba583bcbb1382dfde943df1469812c8.679d8dbd.webp","alt":"The Install in Slack panel, with a Generate installation link button, a copyable installation link with a countdown, and the Check installation button","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":2},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the link yourself, or select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Copy link"]}," and send it to a Slack administrator."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Slack, approve the installation for the workspace."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-install-complete.7211a8c27799aadb457a7164d89fbcae1b22e0b033b9d9673c1b17fb57b61c9e.679d8dbd.webp","alt":"The Slack installation complete page, shown after the installation is approved in Slack","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":4},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Return to the bot's detail page and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Check installation"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The installation link expires 15 minutes after it is generated. Generating a new link does not cancel links you generated earlier, and each one expires on its own. The person who approves the installation does not need a Treasure AI Studio account. Treasure AI Studio shows a result page for the approval, and that page does not require a sign-in."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Installing the app does not change whether the bot is enabled. If you reinstall a bot later, the reinstall approval works the same way, and the current installation stays in place until the new one succeeds."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the installation is confirmed, the detail page shows that the bot is installed. People can then start using it by following ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/agent-channels/slack-chat"},"children":["Using a Slack Bot"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"who-can-do-what","__idx":6},"children":["Who Can Do What"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Treasure AI Studio shows each bot's name, comment, and status to every member of the account. The work folder, the Configuration Token references, and the Slack app details are shown only to managers of the bot's work folder and to account administrators."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"46%","data-label":"Action"},"children":["Action "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"54%","data-label":"Who can do it"},"children":["Who can do it "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create a bot"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Work folder managers, when the account's creation policy allows it, and who also have manage access to the chosen work folder"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Edit the name or comment, change the Configuration Token, generate an installation link, reinstall, apply saved settings, or delete the bot"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Current managers of the bot's shared work folder. Holding the role at creation time is not enough"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Turn the bot on or off"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Managers of the bot's shared work folder, and account administrators"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["See the name, comment, and status"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Every member of the account"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Enabling and disabling are separate from installing and deleting. Account administrators can disable a bot without managing its work folder, for example to stop a rollout. They cannot edit, install, or delete it without work folder manage access."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"turn-a-bot-on-or-off","__idx":7},"children":["Turn a Bot On or Off"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enabled"]}," setting controls whether the bot accepts new requests."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Disable"]}," stops new requests. A Slack message sent after you disable the bot is not accepted. Requests the bot has already accepted keep running and can finish their replies."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enable"]}," accepts new requests again, as long as the installation is still in place."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-disable-dialog.bb93121c1553b2cfae7342ce12f5fd144ce62e3d87cd1107c58d51c38c61c96d.679d8dbd.webp","alt":"The Disable this Slack bot dialog, with an optional comment field and Cancel and Disable buttons","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Disabling does not uninstall the Slack app, and it does not delete the bot's chats or linked accounts. The bot shows as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unavailable"]}," when Treasure AI Studio has stopped it for a reason of its own, such as an uninstall or a revoked token. An enable action cannot clear those reasons. Reinstalling the app clears them."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Disabling does not stop a reply that is already running"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use disable to refuse new requests. To stop a reply that is already in progress, have the person stop it from Slack before you disable the bot. A stop request sent after the bot is disabled is refused too, because stopping also checks that the bot is available. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/ai-studio/agent-channels/slack-chat#stop-a-reply"},"children":["Using a Slack Bot"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"edit-a-slack-bot","__idx":8},"children":["Edit a Slack Bot"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit"]}," on the detail page to change the name or the comment. Changing the name also updates the Slack app's name after Treasure AI Studio saves the change. If Slack does not accept the update, Treasure AI Studio keeps the new name and shows the failure. Apply the saved settings again from the detail page once the problem is fixed."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Names with Japanese characters or spaces"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Treasure AI Studio does not accept Japanese characters or spaces in a bot's name when you create the bot, because Slack rejects them when it registers the app."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To use a Japanese name, rename the Slack app in the Slack admin pages after the bot is registered. Slack may show an error when you save the name there, but the change is applied. You can then use the bot by mentioning it with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@"]}," and its Japanese name."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you edit the bot in Treasure AI Studio, the name held in Treasure AI Studio overwrites the change in Slack. After you edit the bot, rename the Slack app in Slack again."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The shared work folder cannot be changed. For a different work folder, create a new bot."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"change-a-slack-bots-configuration-token","__idx":9},"children":["Change a Slack Bot's Configuration Token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configuration Token"]}," section on the detail page shows the credential that manages the bot's Slack app. Current managers of the shared work folder can select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Change token"]}," there, and choose a Configuration Token that you registered. The current token, and a token that ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Needs renewal"]},", cannot be selected."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-change-token-dialog.cb6b3de7c818e22ffc0be21318c0af0e8980d65cacb95e495e710a7b5646b113.679d8dbd.webp","alt":"The Change management token dialog, with a Configuration Token selector, the Change token button, and links to register another token and manage Configuration Tokens","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Changing the token keeps the same Slack app. It does not apply your saved settings to that app. Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apply saved settings"]}," separately when the app needs to be updated."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Access to the work folder in Treasure AI Studio and access to the Slack app are separate. You may need to be added as a Collaborator on the existing app in Slack."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"delete-a-slack-bot","__idx":10},"children":["Delete a Slack Bot"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete Slack bot"]},", and type the bot's exact name to confirm. Deleting a bot cannot be undone."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-delete-dialog.1c9d5d4fd146e6ee71e3bff595bb2ae204f3dbbca85a9fb1cc81a25d9c1b59cf.679d8dbd.webp","alt":"The Delete this Slack bot dialog, which asks you to enter the bot's name to confirm","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deleting a bot does the following:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Stops new requests from being accepted."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Removes the bot from the Agent Channels list."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Attempts to delete the bot's Slack app, if Treasure AI Studio has its app ID."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Keeps the chats the bot created in each person's chat list."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Keeps the linked Slack accounts. They still apply to the account's other bots in the same workspace."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If Slack does not confirm that the app was deleted, Treasure AI Studio retries the deletion in the background, at least five minutes apart. Check the app in Slack yourself as well. If the app creation result is unknown, Treasure AI Studio has no app ID and cannot delete the app or confirm its deletion, even through retries. Follow ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#when-slack-app-creation-cannot-be-confirmed"},"children":["When Slack App Creation Cannot Be Confirmed"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"recover-a-slack-bot","__idx":11},"children":["Recover a Slack Bot"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If a Configuration Token could not be used and you renew or change it, the detail page shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apply saved settings"]}," beside the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Slack app"]}," heading. Select it to update the Slack app with the saved settings. This option is not available when the app creation result is unknown; use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#when-slack-app-creation-cannot-be-confirmed"},"children":["When Slack App Creation Cannot Be Confirmed"]}," instead."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/ai-studio-agent-channels-slack-apply-saved-settings.f184b6f3fa16a0e0eca9af323db1a899de3dbd980e6e81a6cfa456cd3bfac4fc.679d8dbd.webp","alt":"The bot's detail page with the Apply saved settings button beside the Slack app heading, after a Configuration Token was saved","framed":false,"withLightbox":true,"width":"640px"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"36%","data-label":"Symptom"},"children":["Symptom "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"64%","data-label":"What to do"},"children":["What to do "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The bot is saved, but Slack app creation failed with a known result"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check the Configuration Token. If it needs renewal, renew it with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Renew"]},". Then select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apply saved settings"]}," on the detail page. Treasure AI Studio retries the app creation. This does not apply when the creation result is unknown"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The last Slack app update failed, or you renewed or changed a Configuration Token that could not be used"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apply saved settings"]},". Treasure AI Studio sends the current name and settings to the existing Slack app"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Treasure AI Studio cannot confirm whether the Slack app was created"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check Slack before creating a replacement bot. Follow ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#when-slack-app-creation-cannot-be-confirmed"},"children":["When Slack App Creation Cannot Be Confirmed"]}," for the action to take when the app exists, does not exist, or cannot be checked"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The installation failed, or the result cannot be confirmed"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check the installation with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Check installation"]},". If it is not installed, generate a new installation link. The app may still be installed in Slack even when Treasure AI Studio cannot confirm it"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The bot says ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Needs renewal"]}," for its token"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Renew"]}," on that token, and paste a newly issued Refresh Token from the same Slack workspace and Slack user"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-slack-app-creation-cannot-be-confirmed","__idx":12},"children":["When Slack App Creation Cannot Be Confirmed"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When Treasure AI Studio cannot confirm whether Slack created the app, the bot stays saved, and Treasure AI Studio does not send the creation request again. Check ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://api.slack.com/apps"},"children":["api.slack.com/apps"]}," using the Slack account and workspace associated with the Configuration Token used for that creation attempt. Use the app name at the time of creation as a search hint. A matching name alone does not identify the app, and not finding that name does not prove that creation failed."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"36%","data-label":"What you find in Slack"},"children":["What you find in Slack "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"64%","data-label":"What to do"},"children":["What to do "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You identify the app created by this attempt"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Treasure AI Studio cannot link the app to the bot. Only after confirming that this is the app from this creation attempt, delete it at ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://api.slack.com/apps"},"children":["api.slack.com/apps"]},". Then create a new bot if you still need one. To avoid duplicate apps, delete the identified app before creating a replacement bot"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You confirm that no app from this attempt exists"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create a new bot. You can also delete the unconfirmed bot from its detail page. Treasure AI Studio has no app ID for the bot, so the deletion of its Slack app stays unconfirmed"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You cannot confirm whether the app exists or identify which app belongs to this attempt"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ask the person who issued the Configuration Token used for this creation attempt to check. Do not delete an app based only on its name. Creating a replacement bot before the check risks creating a duplicate app"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-the-slack-app-requests","__idx":13},"children":["What the Slack App Requests"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For your security review, the Slack app requests these bot permissions and events. Treasure AI Studio sets them when it creates the app."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"32%","data-label":"Slack permission"},"children":["Slack permission "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"68%","data-label":"Use"},"children":["Use "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app_mentions:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Receive messages that mention the bot in a channel the app has joined"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["im:history"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["im:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Receive direct messages to the bot and send the bot's replies and sign-in messages in the DM"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Post the bot's replies and notices in a thread"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["assistant:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Stream replies into the thread as they are written"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The app subscribes to these events: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message.im"]}," for direct messages, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app_mention"]}," for mentions, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent_session_stopped"]}," for stop requests, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app_uninstalled"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tokens_revoked"]}," so Treasure AI Studio can tell when the installation stops working, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app_home_opened"]},", which Treasure AI Studio currently ignores. The bot has no Home tab."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The bot does not read channel history. It sees a channel message only when someone mentions it. Edits, deletions, and messages from other bots are ignored."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"limits-and-known-gaps","__idx":14},"children":["Limits and Known Gaps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Slash commands, the Home tab, and group direct messages are not supported."]}," Sign in and send requests only from the bot's DM and from channel mentions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A bot cannot answer the agent's questions."]}," When the agent asks a question, Treasure AI Studio declines it automatically, and the reply continues. Send the answer as your next request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Work in progress can end early if Treasure AI Studio stops processing it."]}," Treasure AI Studio does not resume a reply that was interrupted this way, or re-send a request whose outcome is unknown. Send the request again if the reply does not arrive."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New requests check access each time. Accepted requests do not."]}," If someone's work folder access is removed, or their link is removed, their next request is refused. A request that was already accepted keeps running with the access it started with."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A Slack app creation result that cannot be confirmed cannot be resolved in Treasure AI Studio."]}," The bot has no app ID, and Treasure AI Studio has no way to confirm the result. Retrying the creation and applying saved settings do not help. Resolve the case in Slack, as described in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#when-slack-app-creation-cannot-be-confirmed"},"children":["When Slack App Creation Cannot Be Confirmed"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":15},"children":["Next Steps"]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":3,"cardMinWidth":240},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Using a Slack Bot","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/products/ai-studio/agent-channels/slack-chat"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in from Slack, send requests by DM or mention, stop a reply, and unlink your account."]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Connect Slack","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/products/ai-studio/connections/slack"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The connection that lets Treasure AI Studio agents work in Slack during a chat."]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Agent Channels","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/products/ai-studio/agent-channels/"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The kinds of channel, how a request reaches an agent, and what each kind can do."]}]}]}]},"headings":[{"value":"Slack Bots","id":"slack-bots","depth":1},{"value":"How a Slack Bot Differs from Other Agent Channels","id":"how-a-slack-bot-differs-from-other-agent-channels","depth":2},{"value":"Before You Start","id":"before-you-start","depth":2},{"value":"Register a Configuration Token","id":"register-a-configuration-token","depth":2},{"value":"Create a Slack Bot","id":"create-a-slack-bot","depth":2},{"value":"Install the Slack App","id":"install-the-slack-app","depth":2},{"value":"Who Can Do What","id":"who-can-do-what","depth":2},{"value":"Turn a Bot On or Off","id":"turn-a-bot-on-or-off","depth":2},{"value":"Edit a Slack Bot","id":"edit-a-slack-bot","depth":2},{"value":"Change a Slack Bot's Configuration Token","id":"change-a-slack-bots-configuration-token","depth":2},{"value":"Delete a Slack Bot","id":"delete-a-slack-bot","depth":2},{"value":"Recover a Slack Bot","id":"recover-a-slack-bot","depth":2},{"value":"When Slack App Creation Cannot Be Confirmed","id":"when-slack-app-creation-cannot-be-confirmed","depth":3},{"value":"What the Slack App Requests","id":"what-the-slack-app-requests","depth":2},{"value":"Limits and Known Gaps","id":"limits-and-known-gaps","depth":2},{"value":"Next Steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Slack Bots in Treasure AI Studio","description":"Create a Slack bot in Agent Channels that lets your Slack workspace use a shared work folder by DM or mention, with each person's own permissions."},"platforms":["Web","Desktop"]},"lastModified":"2026-11-12T07:19:45.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/ai-studio/agent-channels/slack-bots","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}