Planning your Slack app
When you set out to make a Slack app, the range of possibilities can make you feel like you've stepped into Wonka's Chocolate Factory. If you're bewildered at the options in front of you, use this guide to choose from the delicious treats of the Slack platform.
While this guide presents a framework for planning a Slack app, it's by no means the only way. If you've chosen a course already, stay resolute. For the wandering, wondering remainder, this guide is for you.
Now is the time to figure out how your app will help make other people’s working lives simpler, more pleasant, and more productive.
Gather feedback and surveys from a diverse range of people within your organization. We don't prescribe the feedback or ideas to seek, but here are some thought experiments to try:
- Are there any regular types of message that are posted manually? Imagine a manager posting in a channel every Friday afternoon asking for status reports. This could be turned into an app that posts reminders on the same schedule. The app could also collect the responses in a better format for the manager to consume later.
- Ask team members to find one or two automated messages that they’ve received in the past week or so that are critical to their job. Often these kinds of automated emails can be turned into messages posted in workspaces by Slack apps.
- Think beyond pure communication and embrace interactivity—an app like the above might just post automated messages. Beyond that, could any other app surfaces be implemented with interactive features to radically deepen the experience.
- Think about the key hurdles that people face when using Slack in your team, and outline them. Can an app solve those problems?
- Do you regularly use an external service while working? If they don't already have their own integration (try the App Directory), and they offer a web-based API, build an app that integrates that service into Slack.
Storyboarding is a great way to help you figure out how people will interact with your app—and therefore to decide which features to implement.
Let’s walk through some planning exercises that will help you efficiently map out your app's interactions.
Put yourself in a user’s shoes. Imagine them trying to complete a specific task using your app. How do they make first contact?
There is no single correct answer for every apps or every user. Take time to explore different possible ways of guiding a person through getting this work done, and picking whatever is simplest for your user base.
Read our guide to picking interaction entry points to explore this topic further.
Think about what happens after a user initiates a workflow. Imagine the sequence of steps that might be presented to that user, in order to reach a conclusion. And then do it again for different user personas.
Do you need to collect information? Is the flow better handled through dialogue or a series of buttons?
This exercise will help you to figure out what kinds of app surfaces you'll need to use, and the APIs your app might require along the way.
You might find that you can compress some workflows with clever interactivity, or use more assistive language when communicating to reduce confusion.
After storyboarding your app's workflow, you should have a better idea of what kind of functionality you'll need to implement — read our guide to choosing the right APIs to see how you can build those functions.
Slack users are people of all ages, races, genders, and ability levels. They may have poor internet connections, use Slack only on mobile, or they might never have used a Slack app before. We want them all to have a great experience on Slack, so be sympathetic of your audience when designing your app.
Read our interaction guidelines for further tips on building apps for diverse audiences.
After following the process outlined in this overview, you should have a good sense of your app's audience, and what the app will do.