3
6 Comments

How to make a Slack app?

I had an idea for a Slack app, not that I have time to do anything about it, 😬but it did make me wonder about the process of building one.

Can anyone share any tips, resources or experiences?

on July 23, 2019
  1. 2

    Hi Rosie,

    Yes, the best place to get started is the Slack documentation: https://api.slack.com/start

    They also have some tutorials here: https://api.slack.com/tutorials

    They also recently, well, I say recently, it's been out a while, they released a new way to compose messages in Slack and they call it "block kit". You can have a play around here:
    https://api.slack.com/block-kit-builder

    The Slack documentation can be a bit overwhelming as there is a lot, but is pretty good and has a wealth of information. That's where I learnt how to build Slack apps.

    In a nutshell, what I learnt is that there are really two types of Slack apps:

    1. Bots. You can interact with them and ask them to do something and they will respond.
    2. Non bots. You can just send messages to Slack or they can respond to a Slack command such as /myslackapp do-something

    Slack apps can also be built either for just your internal workspace. Or, the Slack app can be installed to any workspace. For Slack apps to be "distributed" across other workspace, one has to go through Slack's app submission process.
    It's a little similar to the App store submission process. But it is free. No cost. Once its approved, it will be listed in https://slack.com/apps

    If you have any other questions, feel free to let me know.

    Side note: I've actually just submitted my latest app to Slack for submission: https://gitagent.app and just waiting for them to review and approve it.

    1. 1

      Thanks, I need to do a bit of exploring to see what is out there.

  2. 1

    It's really easy to get started.

    After you head to https://slack.com/apps click "Build".

    What your simplest app is doing is just responding to a webhook. There's a lot of frameworks and toolkits that complicate this when you're getting started, but essentially, in whatever language you're most familiar with, you're just putting a server up with a tiny API endpoint that responds to an incoming GET or POST request, with a little bit of JSON.

    If you're in the node ecosystem the official NPM module for slack and the express wrapper come in handy.

  3. 1

    Hmm how complicated?

    I know there are various tools out there that help you build bots, for example.

    And recently built a small app/integration using their API and Firebase, which was reasonably simple.

    For most use cases, Zapier is the way to go. It's super powerful and can do a lot with Slack.

    For complicated stuff, the Slack docs are great. A lot of examples and really easy to understand.

    1. 2

      I just created a Zap, not quite what I wanted to do, but interesting to experiment.

  4. 0

    Hi Rosie, I am working with a 19+ years of experienced IT firm and they have expert resources as well as proven experience to develop such kind of apps, please reach me at veerrajawat@cdnsol.com so we can discuss further
    Thanks