At Tapaas, we provide our customers a hosted single tenant data analytics platform as a fully managed service. Further, we are a startup with a philosophy that in order to scale, we must leverage our human resources with strategies like DevOps or we’ll collapse under the load of systems administration.
The way we operate, Tom, our CTO, develops the platform, and I, the CEO, water boy and house keeper, run operations consisting of, well, me 🙂 Considering any investment in DevOps reduces the amount of work I have to do, I get little push-back.
This week, I got tired of summarising the status of my weekly sys admin tasks and emailing them to stakeholders. I thought I wanted to add Notification Service to our scripts to inform stakeholders when our weekly maintenance tasks were complete. But, since the Support Team at our business partners at oneZero Financial have started using Slack, I thought best to integrate with what’s already in use.
I first thought I’d simply be posting a message to a Slack Channel with interesting State Changes. But as I looked at the Slack API, it dawned on me that an interactive Bot using Slack’s Bot User would actually be much more useful ( and fun to code 🙂 . With a Bot User, you can code up an agent (service or daemon) which connects to Slack using credentials you establish in Slack. It then listens in on the conversations on a given channel or watches for posts directed at it ( using @ notation). It can then perform necessary functions in the backend and format a response. So, rather than look at a passive channel of posts, the support team can ask various questions and receive timely responses.
Sure, they could log into the myriad web pages, support consoles and dashboards like Nagios to see similar information. But, these people are busy and they’re using Slack and other collaborative tools to support customers. In my view, anything we can do to make them more effective in that crucial role, is good value.
I’d be interested to hear about experiences of others who have used Slack ( or other ) Bots in this way.
Coming next, I’ll show you the Bot.