Creating Slack Apps for tedious, automatable processes

Make your life easier with Slack tools and APIs

Guillermo Mora Cordero
Slack Platform Blog
4 min readAug 27, 2019

--

Let’s face it. Doing the same task over and over again is a boring waste of time, but we can’t just avoid this work. That’s why in our team, we started thinking about ways of making things faster and lessening any human interaction for effortless results. Saving time is key for everyone in the end.

Your recurring and boring tasks may vary, but at work, it’s likely that you check your support email inbox, and get asked to generate reports. We deal with this too, and agree that doing daily repetition is challenging and tedious.

At Clever Ads, we track and manage our customers’ Google Ads campaigns several times a day manually. If you’ve used Google Ads before, you might have felt overwhelmed by the huge amount of options and graphs that Google offers. Usually, we only need to check on a single metric, and the page load and other fields slow down our quick search. Quite frustrating, right?

To fix this challenge, we decided to use Google Ads API to monitor these metrics where we work the most: Slack. Instead of loading each page, we could then track metrics and graphs pertaining to the campaign’s performance in a Slack channel easily.

Our Slack app saved us time by tracking Google Ads accounts with a straightforward approach. It featured the ability to look at the metrics we wanted to, manage our accounts, and set reminders through a seamless structure. Integrating the Clever Ads app added great value to our company that others could use to their advantage as well. So, how does it work? Let’s get into more details.

Clever Google Ads

Clever Google Ads for Slack

Using this app is pretty simple:

  • Connect your Google account
  • Select the Google Ads account that you want to track
  • Ask for metrics
  • Receive your campaign performance instantly

And what do we need to make this app work?

  • Google OAuth2.0, for the login
  • Google Ads API (beta) or Google Adwords API (stable), for retrieving metrics or making changes
  • An API developed by us to generate graphs using Chart.js, since a picture is worth a thousand words
  • Node Slack SDK, to receive commands and respond accordingly

The Slack API provides a huge amount of functions, and that’s good, but in our case, we just needed a couple of commands. We wanted to respond to a user interaction and automatically send scheduled messages. For us, the most important API calls are:

  • chat.postMessage, used right after a user writes something in the bot home or wants to share metrics with other channels. Also, it is needed to send automatic messages.
  • chat.postEphemeral, quite important to ensure that an action will only be performed from a specific user. You may use it for login messages or account selections.
  • dialog.open. This one is pretty interesting. It helps a lot with the user experience, since it will open a pop-up with a form that will disappear after the submission. This is your best option if you want some feedback from your users, as it will keep their conversations clean.

Adding anything else would add great value, but on the other hand, the app’s main menu would be overloaded with many different options and buttons, and we’d like to avoid that. This app was not designed to replace the Google Ads dashboard, so for getting more complicated reports, we recommend using the Google Ads dashboard itself.

Your app

What’s your idea to save time?

If you want to start creating apps or you have already developed one and want to broaden your horizons, you’ll probably need a great idea. It’s so frustrating to find out that no one is using your app after spending hours or days designing it, right?

People love to save time and that’s what our experience says. You may think that your tedious tasks are only for you, but hey, you can just ask around! What are the most time-consuming tasks of the QA team? Do they want to run some specific tests after somebody asks them to check the staging environment? They could do that by clicking on a Slack button, which calls your API! Voilá! There you have it!

Also, don’t focus entirely on making an app for everyone. Start with your team, use it yourself and your colleagues. Then see if it really helps you or if you’d rather be doing your job the old way. If you, the creator, cannot make full use of it, who will?

Using the app ourselves is very helpful. We can ask for feedback from our colleagues, which inspires us to add new features or shortcuts. Putting yourself into the shoes of your users is easy if you frequently use the tool you designed.

In summary

We all like to save as much time as possible, but not everyone can make an efficient new app. Whether you have a great idea for a new app or the time to create one, you should try to develop a Slack app. There are plenty of resources out there to help you and your team save precious time from repetitive tasks!

Ready to try out building your own app? Get started at api.slack.com/start. Have questions? Tweet us at @SlackAPI or drop us a note at feedback@slack.com.

--

--

Guillermo Mora Cordero
Slack Platform Blog

Working on giving people the opportunity to make their lives easier with simple apps.