When you build a Slack app, you’re not just creating features, you’re creating experiences. And every experience needs a place to live. In Slack, those places are called surfaces.
A surface is simply a space inside Slack where your app can communicate with users or interact with them. Some surfaces are persistent and always available. Others appear only when needed. Some are built with Block Kit, and others with markdown. They’re all different, but together, they give developers enormous flexibility to design exactly the experience they want.
If you’re new to Slack app development, think of surfaces as “rooms” in your app’s virtual house. Each room has a purpose, a mood, and a way people interact inside it. Once you get familiar with these rooms, your app suddenly has so much more creative range.
Whether you’re building your first app or expanding an existing one, surfaces are the secret to making something people want to use every day. They’re the foundation that everything else builds on. Once you understand how they work — and how they fit together — it becomes much easier to design interfaces, workflows, and experiences that feel natural inside Slack.
And as you start building, it’s helpful to know that surfaces aren’t just UI concepts. Each one is powered by an API that lets your app create, update, and shape the experience. Think of it as the wiring behind each “room” in your Slack app’s house:
When you choose the right surface:
- Messages use the Conversations API to post updates, format content, add interactive elements, and participate directly in channels and DMs.
- Modals — along with App Home, which is built from a view — both use the Views API. It’s what lets your app open, update, and manage structured layouts that guide people through focused tasks or personalized dashboards.
- Canvases use the Canvas API to generate rich, structured documents that stay organized over time — perfect for content people return to and reference over time.
- Lists rely on the Lists API to create, organize, and update shared work in a way that stays visible, trackable, and actionable.
Messages: The conversational hub
Messages are where your app steps into the flow of work and becomes part of the dialogue. They’re perfect for interactions that are quick, timely, and contextual. Use messages when your app:- Responds to a command
- Sends an update or alert
- Presents a button, menu, or interactive choice
- Guides someone step-by-step through a process
Modals: Your app’s pop-up studio
When your app needs someone’s full attention for a short, structured task, modals are the ideal surface. They shine when you want to:- Request structured input
- Collect details or decisions
- Create a short, guided flow
- Build multi-step forms
App Home: Your app’s personal dashboard
Every app needs a home, a place where a user can return to, reset, and see what matters most. App Home is that space. It’s perfect for:- Personalized dashboards
- Actionable summaries
- Settings panels
- Shortcuts to common actions
Canvases: Organized information, beautifully presented
Some information deserves a breathing space. A place where it can sit, stay organized, and be revisited. That’s exactly what canvases offer. You can use them for:- Onboarding guides
- Team instructions
- Project summaries
- Curated resources
- Workflows embedded in context
Lists: Shared work, structured and visible
Lists help teams organize and collaborate on work inside Slack. Your app can help populate, shape, and update these lists — making them a natural fit for task-based or operational workflows. They’re perfect when your app supports triage, approvals, assignments, or progress tracking. Lists turn work into something concrete, shared, and easy to follow and your app can be right there helping keep everything moving. Lists turn work into something concrete, shared, and easy to follow. And your app can be right there helping keep everything moving.Split View: Designed for AI experiences
Split View adds a new dimension to Slack apps, especially those powered by AI. It gives people two spaces side-by-side: a conversational side (Chat), and a contextual side (History or supporting content). This makes Split View a great choice for AI assistants, agents, or apps that help users think, explore, or act with deeper context. While each surface works beautifully on its own, the real magic happens when you start combining them. A modal can feed data into a message, a list can power a dashboard in App Home, or an AI agent in Split View can update a canvas with insights. These aren’t just UI choices, they are building blocks for richer, more adaptive workflows.When to choose each surface
| If you want to… | Use |
| Show a personal dashboard | App Home |
| Document something long-form | Canvases |
| Track tasks or items | Lists |
| Chat or guide in conversation | Messages |
| Collect structured input | Modals |
| Build an AI chat experience | Split View |
- Your users feel like Slack is working with them, not against them
- Your app feels intuitive
- Your workflows feel seamless