# Build custom Slack runtimes

DevFeed: [Build custom Slack runtimes](<https://devfeed.tech/articles/build-custom-slack-runtimes-825.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/build-custom-slack-runtimes>)

Author: Ben Sabic

Published: 2026-06-02T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Slack](<https://devfeed.tech/topics/slack.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [API](<https://devfeed.tech/topics/api.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [payload](<https://devfeed.tech/topics/payload.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [payload](<https://devfeed.tech/tags/payload.md>), [routing](<https://devfeed.tech/tags/routing.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [slack](<https://devfeed.tech/tags/slack.md>)

## AI overview

Chat SDK now provides Slack adapter primitives as standalone imports, allowing applications to handle their own routing, state, and workflow execution while using only the required functionality.

## Source excerpt

Chat SDK now ships the Slack adapter's primitives as standalone imports for apps that already handle their own routing, state, or workflow execution. Use only what you need: Request verification and payload parsing (@chat-adapter/slack/webhook) Markdown formatting (@chat-adapter/slack/format) Fetch-based Web API calls (@chat-adapter/slack/api) Block Kit conversion (@chat-adapter/slack/blocks) Each subpath skips the full Chat runtime, so your imports stay clean. To get started, read the Slack primitives documentation. Read more