Anatomy of a Slack App
From: 2022-03-16

Anatomy of a Slack App
Assign: Nick Campbell Status: In progress
You've probably used a Slack app before. There are many. These apps help you meet with the members of the community you're in. There are others that help you manage to-dos. And there are some that help managing kudus with your co-workers. Others simply send messages to channels you're in to alert you to a variety of things.
There are a number of things that make up a Slack app. Slack apps range from simple to complex. You can get messages delivered to you and you can build interfaces that look and feel like real applications. There are a lot of possibilities and you'll want to be familiar with the parts of a Slack app before you get started.
Just for clarity sake, a Slack app and a Slack bot are basically the same thing. Usually we think of bots as not having an interface. Really this is a minor distinction. A bot functions very much the same way as a regular application. It's triggers just aren't necessarily buttons.
So, what maps up a Slack?
App Home
When we think of applications, we tend to think of pages. We think mobile apps or webpages that you can interact with. Well, Slack supports this too.
When you add an app from the marketplace to your Slack, you get an app icon in your Apps sidebar section. When you click on this, the "pages" load. You can interact with these pages using buttons, form fields, and more.

The App Home is a great place to start with most applications. However, not all applications have pages. That's ok though because this is Slack- it's a communication platform, not an app platform. So, we'd be remiss to not talk about the other parts of Slack and how they operate as part of a larger application.
Messages
Obviously a chat platform is going to allow you to send messages back and forth to people in your company or community. But, what is less obvious is that your applications can do this too. They can listen to messages as well and then do things based on the messages you send.

On top of that, messages can be interactive. That means that you can get a message that you can do things with. For instance, when a customer support ticket is created, you can create an app that has a button to escalate the ticket or to open a new window that allows you to respond all within Slack.
These features are common in other application platforms. What's powerful here is that this is all within your work environment. You don't need to leave in order to keep making meaningful progress on your work.
Shortcuts and Commands
Last on this overview are shortcuts and commands. Behind the scenes these are basically the same thing. They are ways to trigger behaviors through the application interface. Shortcuts are menu items that can send your data from Slack to some other location or open a modal. Commands, also known as slash commands, are something you type into the chat window that will do the exact same thing.

This provides an additional way for a user to interact with the content inside of Slack. These powerful triggers make the application more than just chat because you can suddenly do more than send messages back and forth to one another. You are empowered to fire off workflows with the data. That is powerful.
Putting It Together
What you get when you combine these things is the ability to trigger actions inside and outside of Slack with messages or with buttons and you get to display data and some kind of user interface all inside your communication platform. That's a huge win. It's what attracted me to Slack in the first place. Chat is great, but there were chat platforms before. Slack expanded on that by allowing applications. That is where Slack gets powerful.

Nick is a founder and developer.
As the creator of Cubed, he is passionate about helping people get the tools they need in their community and business.

