How to build your own custom Slack app (for non-coders)

Make something that saves you time every day

Building apps hero image
Image Credit: Pete Ryan

Slack works great as a central place for your whole organization to share work, including information from all the various apps your company uses. But while there are over 1,000 apps for Slack available in our Directory, the exact tool or workflow you need may still exist only in your mind.

Slack apps can save you time and energy every day. Think of menial tasks at work — things that take a few minutes of your time to look something up, copy and paste some information, and post those updates by hand into Slack channels. They can add up, and bots can help.

A lot of Slack customers build their own, but custom apps usually require someone with technical expertise used to working with software APIs. What about everyone else — those of us who don’t have time to master programming languages and web protocols? Fortunately, there are already several options.

 

Sample existing home-brewed apps

Glitch is a popular service for sharing the code behind all kinds of apps, including loads of options for Slack. Every Glitch project not only shows you the code but also lets you copy it to your own account to tweak to your needs. If you search through Slack apps at Glitch, you might find that someone has already built exactly what you need, ready to copy and run for your own team.

To demonstrate this, we teamed up with Howdy to build a simple single-purpose app. Say you wanted to know what your entire team is up to, without asking everyone individually, clicking every profile in Slack, or clogging up a channel with a request. Status Bot lists your entire team’s custom statuses when you send a DM to the bot with the word status. If you’d like to use it, copy the project in Glitch and follow the instructions to install it on your team. You can even extend it with additional commands to get more information from profiles. We included timezone as a second sample command.

 

status
Status bot is basic but useful

Send forms to email

In many companies, employees can request equipment or supplies from a specific internal team. Making this work in Slack is fairly straightforward if you combine a form-building tool like Wufoo or Typeform with the email-into-Slack feature available to all paid teams.

Once you build a form to gather relevant information from employees, set the responses to go to a specific Slack channel’s email address. Form results will post automatically into Slack, where you can have a conversation about the request, or use simple emoji reactions to indicate someone is looking at the request and when it is approved.

 

visiting employee
visiting employees form
Slack uses Wufoo forms to inform other offices about visiting employees

 

Keep watch on your directories

Zapier is a flexible service designed to let many different apps talk to one another, including Slack. For example, you could automatically get notified when someone uploads a file to your team’s cloud storage.

 

box folder

 

Create an account at Zapier, then wire up a recipe (or Zap as they call it) that links any new file in a specific directory on your Google Drive, Box, or Dropbox account with a notification to a Slack channel of your choice.

 

zapier

 

For example, use this to alert #design-team when new mockups are uploaded to your Project X directory in Box or Dropbox. If you regularly share spreadsheets of data in a business operations group by hand, automate it so any new Google Sheet saved in a Quarterly Reports directory in Google Drive is posted to your #bizops channel, saving you time each time it does.

 

Custom flows with Missions

A new service called Missions recently launched to let you craft your own complex workflows in Slack, all without code.

With Missions, you can do things like gather information in forms within Slack, let members of your team “claim” tasks, and create approval flows to notify others when something is either accepted or denied. It can launch automatically when you perform certain actions in Slack, and like Zapier, can also trigger based on new activity from outside services.

How does this all work? Imagine you had a #legal channel where your firm’s six lawyers hung out in Slack. Any time a new contract was uploaded as a PDF, you could use Missions to trigger a message asking someone in the channel to take on review of the contract. Missions could then send a DM to the participating lawyer asking for their final sign-off after review, and if accepted, report back to #legal the moment the contract was approved. If the reviewing lawyer wanted changes, a deny button could send a DM back to the original uploader of the contract PDF, requesting revisions.

This very article you’re reading was proposed and approved in Slack’s #editorial-pitches channel using Missions. Below, you’ll see the form for submitting a proposal, the recipe showing the form and notifications, and the final approval message posted in the channel.

 

missions

mission launches

mission approvedThe input form for story pitches, the recipe at Missions to create it, and the final approval message sent to the channel

The Slack App Directory has over a thousand options that meet nearly all the needs of businesses today. But if you need something very specific, or are looking to shave a few minutes off regular menial tasks, building something yourself is now within everyone’s reach.


Matt Haughey is obsessed with connecting 3 or 4 services together in Zapier to automate tedious tasks.

Slack is the collaboration hub, where the right people are always in the loop and key information is always at their fingertips. Teamwork in Slack happens in channels — searchable conversations that keep work organized and teams better connected.