Outline your use cases
Now is the time to figure out how your app will help make other people's working lives simpler, more pleasant, or more productive.
Maybe your app can save people time by posting notifications from your service into Slack, reducing the number of times they need to switch between apps. Maybe your app provides a quicker way for people to get common tasks done- like approving expense reports, or assigning tasks among a team.
If you need some inspiration, explore the Slack App Directory!
Know your options
In order to decide which workflows make sense to hook into Slack, it's helpful to know what you can do with the Slack API:
- Read and write data with the Web, RTM, and Events APIs.
- Send rich & timely notifications with incoming webhooks.
- Empower users to invoke workflows at will using slash commands.
- Make messages interactive with message buttons and message menus.
- Keep things friendly and conversational with bot users.
- Install internal integrations exclusively to your workspace. No OAuth required.
Message formatting and attachment fields
Every interaction your app has with your users will be in the form of a message. Your app's messages are vehicles for all kinds of content and experiences: messages can use images, link to external websites, or highlight key pieces of data. They can also be made interactive with buttons and menus.
Anatomy of a message

These fields and more can be customized using the pre-defined message attachment parameters, including colors and logos:



Think about what data you can include in a block kit block that will help people be productive after they receive it. Maybe the text of a notification is enough; maybe you want to link out to your service for more information, or let people take actions from within Slack. Match your message design to the work you want people to get done.
Slack's interactive Block Kit Builder can help you test out your app's message layout and design.