<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Slack Developer Docs Blog</title>
        <link>https://docs.slack.dev/changelog</link>
        <description>Slack Developer Docs Blog</description>
        <lastBuildDate>Mon, 30 Mar 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[PKCE is now generally available!]]></title>
            <link>https://docs.slack.dev/changelog/2026/03/30/pkce</link>
            <guid>https://docs.slack.dev/changelog/2026/03/30/pkce</guid>
            <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We are excited to announce support for Proof Key for Code Exchange (PKCE). PKCE is an OAuth security extension that enables developers to build more secure Slack applications on public clients, such as desktop apps and mobile apps, without the need to embed a vulnerable client_secret.]]></description>
            <content:encoded><![CDATA[<p>We are excited to announce support for Proof Key for Code Exchange (PKCE). PKCE is an OAuth security extension that enables developers to build more secure Slack applications on public clients, such as desktop apps and mobile apps, without the need to embed a vulnerable <code>client_secret</code>.</p>
<p>Previously available in early access by request only, PKCE can now be enabled directly in your app settings without contacting Slack support.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-things-to-know">Key things to know<a href="https://docs.slack.dev/changelog/2026/03/30/pkce#key-things-to-know" class="hash-link" aria-label="Direct link to Key things to know" title="Direct link to Key things to know" translate="no">​</a></h3>
<ul>
<li class="">Enabling PKCE marks your app as a public client. This is a one-way operation; it cannot be undone without contacting Slack support.</li>
<li class="">OAuth installations which redirect to a custom URI scheme (e.g. <code>myApp://auth</code>) will always receive <a class="" href="https://docs.slack.dev/authentication/using-token-rotation">rotating tokens</a>, even if token rotation is turned off. OAuth installations issued to a standard web URL (e.g. <code>myWebshite.com/auth</code>) will only receive rotating tokens if the 'token rotation' setting is enabled. All refresh tokens issued to PKCE-enabled apps expire after 30 days.</li>
<li class="">Once enabled, PKCE arguments (<code>code_challenge</code>, <code>code_challenge_method</code>, <code>code_verifier</code>) are optional for standard OAuth flows, but required when redirecting to a custom URI scheme.</li>
<li class="">Desktop redirects (custom URI schemes and <code>localhost</code> redirects for PKCE-enabled apps) cannot request bot scopes.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="getting-started">Getting started<a href="https://docs.slack.dev/changelog/2026/03/30/pkce#getting-started" class="hash-link" aria-label="Direct link to Getting started" title="Direct link to Getting started" translate="no">​</a></h3>
<p>Check out the <a class="" href="https://docs.slack.dev/authentication/using-pkce">PKCE documentation</a> to learn how to implement the full PKCE flow, including how to generate a <code>code_verifier</code>, construct the authorization URL, and exchange the code using the <a class="" href="https://docs.slack.dev/reference/methods/oauth.v2.access"><code>oauth.v2.access</code></a> API method without a client secret.</p>]]></content:encoded>
            <category>New Feature</category>
            <category>Announcement</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.15.0]]></title>
            <link>https://docs.slack.dev/changelog/2026/03/19/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2026/03/19/slack-cli</guid>
            <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.15.0 of the developer tools for the Slack platform has arrived!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.15.0</code> of the developer tools for the Slack platform has arrived!</p>
<ul>
<li class="">The <code>slack create</code> command now normalizes project directory names to kebab-case (lowercase, dash-delimited, no whitespace or special characters). For example: <code>slack create "My App"</code> now creates a <code>my-app</code> directory instead of a <code>My-App</code> directory.</li>
<li class="">We've updated the the <code>slack create</code> command's app name prompt to show the randomly generated app name as placeholder text. You can press <code>Enter</code> to accept the default name, or type in a new name.</li>
<li class="">Bolt JavaScript and Bolt Python projects now default to using the local <code>manifest.json</code> as the app manifest (previously, it was a remote manifest from <a href="https://api.slack.com/apps" target="_blank" rel="noopener noreferrer" class="">app settings</a>). Changes to the app manifest via app settings will now be detected by the Slack CLI, and a prompt will be displayed before any manifest update action occurs (e.g., when using the <code>slack run</code> command). The manifest source is set after creating a new project with the <code>slack create</code> command or by initializing an existing project using the <code>slack init</code> command, and the setting is stored as <code>"manifest.source": "local"</code> in the <code>.slack/config.json</code> file.</li>
<li class="">We've updated the <code>slack app link</code> command to support projects that use a manifest file as the manifest source (<code>manifest.json</code>). As part of this:<!-- -->
<ul>
<li class="">A warning message will not be displayed when the manifest source is local (project file).</li>
<li class="">The manifest source is not changed; it now uses the project's current manifest source.</li>
<li class="">The current manifest source is displayed for your reference.</li>
<li class="">A tip on where to change the manifest source (<code>.slack/config.json</code>) is displayed.</li>
</ul>
</li>
<li class="">We've also updated the app manifest overwrite warning prompt wording and appearance:<!-- -->
<ul>
<li class="">It now clarifies that the app settings manifest will be overwritten by the project's app manifest file.</li>
<li class="">It now displays a warning that changes were detected on the app settings manifest that are not in the project's app manifest file.</li>
</ul>
</li>
<li class="">We fixed a bug: we now output a warning instead of an error if activating the Python virtual environment (<code>.venv/</code>) fails.</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Optional scopes have landed]]></title>
            <link>https://docs.slack.dev/changelog/2026/03/16/optional-scopes</link>
            <guid>https://docs.slack.dev/changelog/2026/03/16/optional-scopes</guid>
            <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[You can now mark individual OAuth scopes as optional when configuring your Slack app! Optional scopes give users more control over what data your app can access during installation, without blocking them from installing your app entirely.]]></description>
            <content:encoded><![CDATA[<p>You can now mark individual OAuth scopes as optional when configuring your Slack app! Optional scopes give users more control over what data your app can access during installation, without blocking them from installing your app entirely.</p>
<p>What's changed:</p>
<ul>
<li class=""><strong>App configuration</strong>: Mark scopes as optional directly from the <a href="https://api.slack.com/apps" target="_blank" rel="noopener noreferrer" class="">app settings</a> page or via your app manifest using the new <code>bot_optional</code> and <code>user_optional</code> fields.</li>
<li class=""><strong>OAuth flow</strong>: Users now see optional scopes presented separately during installation and can choose which ones to grant.</li>
<li class=""><strong>Admin controls</strong>: Workspace admins can pre-approve which optional scopes are available to their users when approving apps.</li>
<li class=""><strong>App manifest</strong>: Two new fields—<code>bot_optional</code> and <code>user_optional</code>—are now supported under <code>oauth_config.scopes</code>. See <a class="" href="https://docs.slack.dev/reference/app-manifest#oauth">App manifest</a> fields for details.</li>
</ul>
<p>If your app uses scopes that aren't strictly required for core functionality, consider marking them as optional to improve installation rates. Read more on the <a class="" href="https://docs.slack.dev/authentication/installing-with-oauth#optional-scopes">Installing with OAuth</a> page.</p>]]></content:encoded>
            <category>Announcement</category>
            <category>New Feature</category>
        </item>
        <item>
            <title><![CDATA[New supported markdown types for rich text in Block Kit]]></title>
            <link>https://docs.slack.dev/changelog/2026/03/06/block-kit-rich-text</link>
            <guid>https://docs.slack.dev/changelog/2026/03/06/block-kit-rich-text</guid>
            <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The following new supported markdown types for rich text when using Block Kit in your apps are being rolled out:]]></description>
            <content:encoded><![CDATA[<p>The following new supported markdown types for rich text when using Block Kit in your apps are being rolled out:</p>
<ul>
<li class="">syntax-highlighted code blocks (language-specific)</li>
<li class="">tables</li>
<li class="">task lists</li>
<li class="">dividers</li>
<li class="">variable-sized headers</li>
</ul>
<p>Check out our <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/rich-text-block">rich text block</a> and <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/markdown-block">markdown block</a> reference for more details!</p>]]></content:encoded>
            <category>New Feature</category>
            <category>Block Kit</category>
        </item>
        <item>
            <title><![CDATA[Set status method scope update]]></title>
            <link>https://docs.slack.dev/changelog/2026/03/05/set-status-scope-update</link>
            <guid>https://docs.slack.dev/changelog/2026/03/05/set-status-scope-update</guid>
            <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The assistant.threads.setStatus API method now accepts either the assistantwrite scope. This allows channel-based apps to use AI loading states in channels, without having to request assistantwrite scope in favor of the chat:write scope exclusively, so update your app soon!]]></description>
            <content:encoded><![CDATA[<p>The <a class="" href="https://docs.slack.dev/reference/methods/assistant.threads.setStatus"><code>assistant.threads.setStatus</code></a> API method now accepts either the <a class="" href="https://docs.slack.dev/reference/scopes/assistant.write"><code>assistant:write</code></a> or <a class="" href="https://docs.slack.dev/reference/scopes/chat.write"><code>chat:write</code></a> scope. This allows channel-based apps to use <a class="" href="https://docs.slack.dev/ai/developing-agents#loading-states">AI loading states</a> in channels, without having to request <code>assistant:write</code> or use the AI assistant split view. The <code>assistant.threads.setStatus</code> API method will eventually no longer accept the <code>assistant:write</code> scope in favor of the <code>chat:write</code> scope exclusively, so update your app soon!</p>]]></content:encoded>
            <category>Announcement</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.14.0]]></title>
            <link>https://docs.slack.dev/changelog/2026/03/05/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2026/03/05/slack-cli</guid>
            <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.14.0 of the developer tools for the Slack platform has landed!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.14.0</code> of the developer tools for the Slack platform has landed!</p>
<ul>
<li class="">The <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/commands/slack_create"><code>slack create</code></a> command now prompts you for a custom app name if the randomly generated default isn't your thing. This prompt appears before scaffolding a new project from a template, and when making new project directories with your custom app name, we now replace spaces with a dash (instead of removing spaces altogether) to make navigation a bit better.</li>
<li class="">The <code>slack create</code> command now updates the app name in the <code>package.json</code> and <code>pyproject.toml</code> project files.</li>
<li class="">We've updated the <code>slack create</code> and <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/commands/slack_init"><code>slack init</code></a> commands to support creating a Python virtual environment (.venv) when it doesn't exist, and installing the project's dependencies from the <code>requirements.txt</code> and <code>pyproject.toml</code> project files.</li>
<li class="">When running Slack CLI commands in a Bolt Python project, the Slack CLI will attempt to automatically activate the Python virtual environment (.venv). This allows commands that use the <code>slack-cli-hooks</code> Python package to run safely and successfully, even when the terminal system doesn't have the virtual environment activated.</li>
<li class="">We've added a <code>--subdir</code> flag to the <code>slack create</code> command for extracting a subdirectory from a template repository as the project root. This supports monorepo-style templates where multiple apps live in subdirectories (e.g., <code>slack create my-app -t org/monorepo --subdir apps/my-app</code>).</li>
<li class="">The <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/commands/slack_docs"><code>slack docs</code></a> command opens the slack developer docs site, and you can now use the <code>--search</code> flag to open the docs search page with the provided query.</li>
<li class="">We fixed a bug and now avoid infinite loops when searching for the root project <code>.slack</code> directory for projects existing on drives other than the <code>C:</code> drive on Windows.</li>
<li class="">We fixed a bug and now check whether an installed <code>git</code> command exists on Windows.</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.13.0]]></title>
            <link>https://docs.slack.dev/changelog/2026/02/19/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2026/02/19/slack-cli</guid>
            <pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.13.0 of the developer tools for the Slack platform has arrived!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.13.0</code> of the developer tools for the Slack platform has arrived!</p>
<ul>
<li class="">When running the <code>slack create</code> command with the <code>agent</code> argument, a list of agentic apps are now highlighted for selection. If you want to name your app "agent" and not create an agentic app, you can use the <code>--name</code> flag instead to explicitly set your app name. Refer to the <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/commands/slack_create/"><code>slack create</code></a> command for more details.</li>
<li class="">When running the <code>slack create</code> command, the available templates are now shown without requiring an immediate selection when using the <code>--list</code> flag. Refer to the <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/commands/slack_create/"><code>slack create</code></a> command for more details.</li>
<li class="">The <code>slack deploy</code> command now references the latest online documentation, with a suggestion to run a development app using the <code>slack run</code> command if a <code>deploy</code> hook script doesn't exist. Refer to our <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/hooks/#deploy">hooks</a> documentation for more details.</li>
<li class="">We now prompt you to log in if no prior authentications are detected when running any command that requires credentials, rather than exiting with an error.</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Announcing the Slack MCP server and Real-time Search API]]></title>
            <link>https://docs.slack.dev/changelog/2026/02/17/slack-mcp</link>
            <guid>https://docs.slack.dev/changelog/2026/02/17/slack-mcp</guid>
            <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We're excited to announce the release of not one, but two, major components designed to significantly enhance how Large Language Models (LLMs) and AI agents interact with your workspace data: the Slack Model Context Protocol (MCP) server and the Real-time Search (RTS) API!]]></description>
            <content:encoded><![CDATA[<p>We're excited to announce the release of not one, but <em>two</em>, major components designed to significantly enhance how Large Language Models (LLMs) and AI agents interact with your workspace data: the Slack Model Context Protocol (MCP) server and the Real-time Search (RTS) API!</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="slack-mcp-server">Slack MCP Server<a href="https://docs.slack.dev/changelog/2026/02/17/slack-mcp#slack-mcp-server" class="hash-link" aria-label="Direct link to Slack MCP Server" title="Direct link to Slack MCP Server" translate="no">​</a></h2>
<p>The MCP server enables AI agents to interact with Slack content through tools designed for LLM-driven discovery, configuration, and execution. Unlike APIs, the MCP server is built specifically for LLM consumption with robust descriptions and examples that return natural language responses. Refer to our documentation to learn more about the <a class="" href="https://docs.slack.dev/ai/slack-mcp-server">Slack MCP server</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="real-time-search-api">Real-time Search API<a href="https://docs.slack.dev/changelog/2026/02/17/slack-mcp#real-time-search-api" class="hash-link" aria-label="Direct link to Real-time Search API" title="Direct link to Real-time Search API" translate="no">​</a></h2>
<p>The Data Access API has evolved into the <a class="" href="https://docs.slack.dev/apis/web-api/real-time-search-api">Real-time Search API</a>! This API allows users to access Slack data through a secure search interface, enabling third-party applications to retrieve relevant Slack data without storing customer information on external servers. Get started using the Real-time Search API with <a class="" href="https://docs.slack.dev/apis/web-api/real-time-search-api">this guide</a> or get straight to business with the <a class="" href="https://docs.slack.dev/reference/methods/assistant.search.context">method reference</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="scope-updates-to-assistantsearchcontext">Scope updates to <code>assistant.search.context</code><a href="https://docs.slack.dev/changelog/2026/02/17/slack-mcp#scope-updates-to-assistantsearchcontext" class="hash-link" aria-label="Direct link to scope-updates-to-assistantsearchcontext" title="Direct link to scope-updates-to-assistantsearchcontext" translate="no">​</a></h3>
<p>Along with these changes, the <a class="" href="https://docs.slack.dev/reference/methods/assistant.search.context"><code>assistant.search.context</code></a> API method has undergone a scope change. The <code>assistant.search.context</code> API method moved away from the single <code>search:read</code> scope to a set of granular <code>search:read.* </code>scopes:</p>
<ul>
<li class=""><a class="" href="https://docs.slack.dev/reference/scopes/search.read.public"><code>search:read.public</code></a> (required) - for public channel access</li>
<li class=""><a class="" href="https://docs.slack.dev/reference/scopes/search.read.private"><code>search:read.private</code></a> - for private channels (with user consent)</li>
<li class=""><a class="" href="https://docs.slack.dev/reference/scopes/search.read.im"><code>search:read.im</code></a> - for direct messages (with user consent)</li>
<li class=""><a class="" href="https://docs.slack.dev/reference/scopes/search.read.mpim"><code>search:read.mpim</code></a> - for multi-party direct messages (with user consent)</li>
</ul>
<p>This change allows for more granular control over what data AI-enabled apps can access.</p>]]></content:encoded>
            <category>Announcement</category>
            <category>New Feature</category>
        </item>
        <item>
            <title><![CDATA[Apps can now display thinking steps to users!]]></title>
            <link>https://docs.slack.dev/changelog/2026/02/11/task-cards-plan-blocks</link>
            <guid>https://docs.slack.dev/changelog/2026/02/11/task-cards-plan-blocks</guid>
            <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Display your apps' and agents' actions with three new Block Kit components:]]></description>
            <content:encoded><![CDATA[<p>Display your apps' and agents' actions with three new Block Kit components:</p>
<ul>
<li class="">The <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/task-card-block"><code>task_card</code></a> block displays a single task.</li>
<li class="">The <a class="" href="https://docs.slack.dev/reference/block-kit/block-elements/url-source-element"><code>url source</code></a> element displays clickable URL references within a task card.</li>
<li class="">The <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/plan-block"><code>plan</code></a> block displays multiple of those tasks together in a unified view.</li>
</ul>
<p>How tasks are displayed is set with a new parameter in the text-streaming API methods: <code>task_display_mode</code>. Use this to choose whether your app's tasks appear individually or in a comprehensive plan.</p>
<p>Then update the task cards and plan via the new <code>chunks</code> parameter. The parameter also supports plain markdown.</p>
<p>Ready to test it out? Check out our guide on <a class="" href="https://docs.slack.dev/ai/developing-agents#streaming">developing AI apps</a>, or jump straight to the text-streaming methods' reference pages:</p>
<ul>
<li class=""><a class="" href="https://docs.slack.dev/reference/methods/chat.startStream"><code>chat.startStream</code></a></li>
<li class=""><a class="" href="https://docs.slack.dev/reference/methods/chat.appendStream"><code>chat.appendStream</code></a></li>
<li class=""><a class="" href="https://docs.slack.dev/reference/methods/chat.stopStream"><code>chat.stopStream</code></a></li>
</ul>]]></content:encoded>
            <category>New Feature</category>
            <category>Block Kit</category>
        </item>
        <item>
            <title><![CDATA[Retry delayed events feature now available]]></title>
            <link>https://docs.slack.dev/changelog/2026/02/05/retry-events-feature</link>
            <guid>https://docs.slack.dev/changelog/2026/02/05/retry-events-feature</guid>
            <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[You can now replay events that your app might have missed! In case of an outage where your app may have missed events, we've released a Delayed Events feature that lets you replay past events. Read all about it in the Events API docs.]]></description>
            <content:encoded><![CDATA[<p>You can now replay events that your app might have missed! In case of an outage where your app may have missed events, we've released a <strong>Delayed Events</strong> feature that lets you replay past events. Read all about it in the <a class="" href="https://docs.slack.dev/apis/events-api/#delayed-events-retry">Events API docs</a>.</p>]]></content:encoded>
            <category>Announcement</category>
            <category>New Feature</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.12.0]]></title>
            <link>https://docs.slack.dev/changelog/2026/02/05/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2026/02/05/slack-cli</guid>
            <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.12.0 of the developer tools for the Slack platform has landed!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.12.0</code> of the developer tools for the Slack platform has landed!</p>
<ul>
<li class="">We've updated the <code>slack create</code> command to display "AI Agent app" instead of "AI app" to align with Slack's new Agent app features.</li>
<li class="">We've added <code>pyproject.toml</code> support to Bolt for Python projects. The <code>slack create</code> and <code>slack init commands</code> will now detect <code>pyproject.toml</code> files, add the <code>slack-cli-hooks&lt;1.0.0</code> to the dependency section (when missing), and display instructions on how to install the dependencies. Python projects now support either or both of the <code>requirements.txt</code> and <code>pyproject.toml</code> files.</li>
<li class="">We've updated the <code>slack run</code> command to support file watching and live reloading for Bolt for JavaScript and Bolt for Python projects. When a file is changed, the Slack CLI will automatically restart the app development server. When the <code>manifest.json</code> file is changed, the manifest update API is called (<code>.slack/config.json</code> must have <code>manifest.source: "local"</code>).</li>
<li class="">We fixed a bug: we removed support for the <code>.slackignore</code> file in the project root, as this file was unused. For posterity, during the Slack CLI Beta, this allowed Deno SDK projects to ignore files during deployment, but the feature was removed before Slack CLI v1.0.0.</li>
<li class="">We fixed a bug: the <code>slack app settings</code> command now opens the App Settings home page (<a href="https://api.slack.com/apps" target="_blank" rel="noopener noreferrer" class="">https://api.slack.com/apps</a>) when the command is run outside of a project. This allows you to see your complete list of apps.</li>
<li class="">We fixed a bug: we now print a debug log if the manifest file was changed but not reinstalled if the <code>manifest.source</code> was set to <code>"remote"</code>.</li>
</ul>
<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Hooks minimum versions</div><div class="admonitionContent_BuS1"><p>You should be prompted to update both the Slack CLI and hooks together, but note the following minimum versions are required for file watching to support server restarts:</p><ul>
<li class=""><code>v0.3.0</code> for Python Slack Hooks</li>
<li class=""><code>v1.3.0</code> for Node Slack Hooks</li>
</ul></div></div>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.11.0]]></title>
            <link>https://docs.slack.dev/changelog/2026/01/22/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2026/01/22/slack-cli</guid>
            <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.11.0 of the developer tools for the Slack platform has arrived!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.11.0</code> of the developer tools for the Slack platform has arrived!</p>
<ul>
<li class="">We made a few updates behind the scenes to keep things running smoothly. Happy New Year!</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Classic apps deprecation paused]]></title>
            <link>https://docs.slack.dev/changelog/2025/12/08/classic-apps-deprecation-paused</link>
            <guid>https://docs.slack.dev/changelog/2025/12/08/classic-apps-deprecation-paused</guid>
            <pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[We want to update you about our previous announcement regarding support for classic apps. Based on feedback from our customers and developer community, we have decided to pause this migration.]]></description>
            <content:encoded><![CDATA[<p>We want to update you about our <a class="" href="https://docs.slack.dev/changelog/2024-09-legacy-custom-bots-classic-apps-deprecation/">previous announcement</a> regarding support for classic apps. Based on feedback from our customers and developer community, we have decided to pause this migration.</p>
<p>Classic apps will continue to work for the foreseeable future but are still considered a legacy method of integrating with Slack, and new classic apps cannot be created. We highly recommend you <a class="" href="https://docs.slack.dev/legacy/legacy-app-migration/migrating-classic-apps/">migrate your classic app to a Slack app</a> to avoid any future service interruptions.</p>]]></content:encoded>
            <category>Announcement</category>
            <category>Deprecation</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.10.0]]></title>
            <link>https://docs.slack.dev/changelog/2025/12/04/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2025/12/04/slack-cli</guid>
            <pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.10.0 of the developer tools for the Slack platform is here!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.10.0</code> of the developer tools for the Slack platform is here!</p>
<ul>
<li class="">We've added the <a class="" href="https://docs.slack.dev/tools/slack-cli/reference/commands/slack_app_unlink"><code>slack app unlink</code></a> command, which removes an existing App ID from your project (it will not delete the app from Slack).</li>
<li class="">We've added support for read-only app collaborators (applicable to deployed <a class="" href="https://docs.slack.dev/tools/deno-slack-sdk/guides/deploying-to-slack">Deno apps</a> only):<!-- -->
<ul>
<li class="">To add a new collaborator as read-only, use the <code>slack collaborator add --permission-type=reader</code> command.</li>
<li class="">To update an existing collaborator to be read-only, use the <code>slack collaborator update --permission-type=reader</code> command.</li>
<li class="">To assign a collaborator as an owner, use the <code>--permission-type=owner</code> flag.</li>
</ul>
</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.9.2]]></title>
            <link>https://docs.slack.dev/changelog/2025/11/20/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2025/11/20/slack-cli</guid>
            <pubDate>Thu, 20 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.9.2 of the developer tools for the Slack platform has landed!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.9.2</code> of the developer tools for the Slack platform has landed!</p>
<ul>
<li class="">We made a few updates behind the scenes to keep things running smoothly.</li>
<li class="">The <code>deno-slack-hooks</code> version was updated to <code>v1.5.0</code>. This version adds support for bundling <code>deno-slack-sdk</code> projects with the new <code>deno bundle</code> command.</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.9.1]]></title>
            <link>https://docs.slack.dev/changelog/2025/11/06/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2025/11/06/slack-cli</guid>
            <pubDate>Thu, 06 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.9.1 of the developer tools for the Slack platform is here!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.9.1</code> of the developer tools for the Slack platform is here!</p>
<p>We made a few updates behind the scenes to keep things running smoothly.</p>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Announcing the redesigned OAuth page]]></title>
            <link>https://docs.slack.dev/changelog/2025/10/28/oauth-page</link>
            <guid>https://docs.slack.dev/changelog/2025/10/28/oauth-page</guid>
            <pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Installing with OAuth is a major point of entry for users installing Slack apps. This flow guides users through configuring the various options their apps require to be installed successfully both at the workspace and org level, as well as the permissions their apps need from the workspace or org prior to installation.]]></description>
            <content:encoded><![CDATA[<p><a class="" href="https://docs.slack.dev/authentication/installing-with-oauth">Installing with OAuth</a> is a major point of entry for users installing Slack apps. This flow guides users through configuring the various options their apps require to be installed successfully both at the workspace and org level, as well as the permissions their apps need from the workspace or org prior to installation.</p>
<p>The new and improved page replaces the old single-column OAuth experience with a brand new double-column, fully responsive view - making all of the configuration options and permissions details easier to read and understand while stepping through the OAuth flow.</p>
<p>We hope you enjoy the new experience!</p>]]></content:encoded>
            <category>Announcement</category>
            <category>New Feature</category>
        </item>
        <item>
            <title><![CDATA[Introducing Work Objects]]></title>
            <link>https://docs.slack.dev/changelog/2025/10/22/work-objects</link>
            <guid>https://docs.slack.dev/changelog/2025/10/22/work-objects</guid>
            <pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[As you may have spied in the Slack CLI v3.9.0 release yesterday, support for Work Objects is now generally available! 🎉]]></description>
            <content:encoded><![CDATA[<p>As you may have spied in the <a class="" href="https://docs.slack.dev/changelog/2025/10/21/slack-cli">Slack CLI v3.9.0 release</a> yesterday, support for Work Objects is now generally available! 🎉</p>
<p><a class="" href="https://docs.slack.dev/messaging/work-objects-overview">Work Objects</a> allow you to represent and collaborate on data from third-party services where the work is already happening, right in Slack. They have two primary components: an <a class="" href="https://docs.slack.dev/messaging/work-objects-overview#unfurl">unfurl component</a>, and a <a class="" href="https://docs.slack.dev/messaging/work-objects-overview#flexpane">flexpane component</a>.</p>
<p>We've also introduced a new <a class="" href="https://docs.slack.dev/reference/events/entity_details_requested"><code>entity_details_requested</code></a> event and the <a class="" href="https://docs.slack.dev/reference/methods/entity.presentDetails"><code>entity.presentDetails</code></a> API method, and have added support for Work Objects to the <a class="" href="https://docs.slack.dev/reference/methods/chat.unfurl/"><code>chat.unfurl</code></a> API method. SDK support for these API updates is coming soon.</p>
<p>To learn how it all comes together to create a seamless experience for your users, check out the <a class="" href="https://docs.slack.dev/messaging/work-objects-overview">full documentation</a>!</p>]]></content:encoded>
            <category>Announcement</category>
            <category>New Feature</category>
        </item>
        <item>
            <title><![CDATA[Release: Slack CLI v3.9.0]]></title>
            <link>https://docs.slack.dev/changelog/2025/10/21/slack-cli</link>
            <guid>https://docs.slack.dev/changelog/2025/10/21/slack-cli</guid>
            <pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Version 3.9.0 of the developer tools for the Slack platform has arrived!]]></description>
            <content:encoded><![CDATA[<p>Version <code>3.9.0</code> of the developer tools for the Slack platform has arrived!</p>
<ul>
<li class="">Slack CLI now supports <a class="" href="https://docs.slack.dev/messaging/work-objects-overview">Work Objects</a>. The manifest values for <code>entity_types</code> are now gathered when reading an app manifest.</li>
<li class="">When reinstalling the Slack CLI after some time, we now avoid blocking the installation script with an automatic prompt to update to the latest version.</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>Slack CLI</category>
        </item>
        <item>
            <title><![CDATA[Slack API Terms of Service updates]]></title>
            <link>https://docs.slack.dev/changelog/2025/10/13/api-terms-update</link>
            <guid>https://docs.slack.dev/changelog/2025/10/13/api-terms-update</guid>
            <pubDate>Mon, 13 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[With the limited release of the Real-Time Search API and the general availability of the Data Access API, we’re making some updates to the Slack API Terms of Service to better support these APIs now that they’re more widely available. We’re also taking the opportunity to make some minor changes to clarify questions we’ve seen from developers: nothing material that should change your development, but we hope it makes things easier and clearer!]]></description>
            <content:encoded><![CDATA[<p>With the limited release of the <a href="https://api.slack.com/partners/real-time-search-api" target="_blank" rel="noopener noreferrer" class="">Real-Time Search API</a> and the general availability of the <a href="https://docs.slack.dev/apis/web-api/real-time-search-api" target="_blank" rel="noopener noreferrer" class="">Data Access API</a>, we’re making some updates to the <a href="https://slack.com/terms-of-service/api" target="_blank" rel="noopener noreferrer" class="">Slack API Terms of Service</a> to better support these APIs now that they’re more widely available. We’re also taking the opportunity to make some minor changes to clarify questions we’ve seen from developers: nothing material that should change your development, but we hope it makes things easier and clearer!</p>
<ul>
<li class="">We clarified your (relative lack of) responsibility for end user violations, noting that “complying with Slack’s Acceptable Use policy” included maintaining policies reasonably in line with it, but that applications are not responsible for violations by end users and that the breaches of your terms that trigger your obligation to notify Slack are security incidents or “known” breaches that could impact customers or users.</li>
<li class="">The “Distribution Beyond Your Organization” section has always only applied to applications distributed beyond your organization (i.e., third-party apps, not custom internal ones), but we added more language throughout emphasizing that.</li>
<li class="">We added the new “Real-Time Search API” to the “Data Access API” section, moved around the text to be clear that it applies to third parties only now that customers may access the Data Access API, and added some additional language on behavior such as temporary caching or storage required by law.</li>
</ul>]]></content:encoded>
            <category>Announcement</category>
        </item>
    </channel>
</rss>