Developing apps with AI features
Don't have a paid plan? Join the Developer Program and provision a fully-featured sandbox for free.
Slack offers a unique messaging experience for apps using AI features. If you're building an AI-powered, conversational app integrated with your favorite large language model (LLM), enabling the Agents & AI Apps feature toggle provides an experience conducive with what's expected of AI chat agents. With the Agents & AI Apps feature enabled, apps can be located in a side-by-side window within the Slack client and accessible from the top bar in Slack, making apps more discoverable, accessible, and message thread-friendly for users.
Apps with this feature enabled are not themselves an LLM; rather, they give you the tools and interface to best integrate an LLM for use in Slack.
For details on the end user experience of apps using platform AI features, check out these Help Center articles: Understand AI apps in Slack and Manage app agents and assistants.
Adding AI to your app
AI can be infused in your Slack app with any feature—the world is your oyster. Any user input can be used as input for an LLM query, and the answer can be posted back in Slack. Take these three examples:
- Ask an LLM a question that was reacted to with a reacji. Learn how to do this in the Events API documentation
- Initiate asking an LLM a question posed in a message from a message shortcut
- Start off an LLM query with a slash command
- Collect structured data in a modal, then use it in a query to an LLM
While these uses are outside of those features discussed below included in the Agents & AI Apps feature toggle, enabling that toggle is necessary to gain access to the assistant:write
scope, which is required for calling assistant-related methods like assistant.threads.setStatus
.
Additionally, Slack enables you to create a side-by-side agent chat experience.
Agents & AI Apps feature
Enabling the Agents & AI apps feature in your app's settings gives your app a new entry point, a split view surface, loading states, suggested prompts, and app threads.
Additionally, the Messages tab that is typically in the app's home is replaced with Chat and History. Past conversations will only show in History if the user has sent a message in the thread (threads with only the app's initial message will not show in History).
App entry point: Users can find and open apps through a new entry point in Slack.
Split view: Users can initiate private conversations with apps using AI features in a split view within a channel, in the flow of work.
Loading states: Developers can set loading states while application operations are in progress.
Suggested prompts: Developers can define default suggested prompts to help start the conversation.
App threads: These are designed to organize conversations and feature a single thread in the conversational experience. Slack will automatically start new threads when appropriate.
Learn how to implement these features in the documentation for the Split view surface.
Next steps
✨ Learn how to build out the split view surface in the Surfaces documentation.
✨ Explore distributed apps using AI in the Slack Marketplace.
✨ Build an AI-fueled Code Assistant app using Bolt for JavaScript with this tutorial.