Building a Slack Chat Bot

Introduction

Jason Lengstorf

Jason Lengstorf

Learn With Jason
Building a Slack Chat Bot

Check out a free preview of the full Building a Slack Chat Bot course

The "Introduction" Lesson is part of the full, Building a Slack Chat Bot course featured in this preview video. Here's what you'd learn in this lesson:

Jason Lengstorf introduces the course and makes the case for using chatops to improve communication processes and reduce administrative tasks.

Preview
Close

Transcript from the "Introduction" Lesson

[00:00:00]
>> I'm Jason Lengstorf, I am very excited today to be teaching everybody about ChatOps. I will specifically be teaching about Slack and Notion today, but the concepts that we're gonna cover will extend to any chat tool that has an API and any note taking or project management tool that has an API.

[00:00:19]
You'll be able to carry these across to whichever one fits your particular work setup. I chose Slack because Slack seems to be the most popular currently. Well, I guess other than Microsoft Teams, but I don't know Microsoft Teams, I haven't worked with it, I've always worked with Slack.

[00:00:36]
So we're gonna be going there. And then Notion, mainly because Notion is what I use and it's what I use to manage my teams in previous jobs. But you could also apply these same concepts to GitHub issues, to Jira, to Linear, to Trello, or any of the other tools that would allow you to keep track of your work and incoming requests.

[00:00:58]
So first, what is ChatOps? Why does it exist, and why are we doing it? So ChatOps is the idea of bringing common tasks that your team does into your chat tool rather than asking people to switch contexts. And the reason this is important is that, what I've noticed at least is that, when you work on a team that manages inbound requests, your Slack channel will often become the place where people come to ask for things.

[00:01:27]
And that makes sense. Well, a lot of us are on remote teams, when you are discussing work, it is usually being done in a team channel. And that work leads to ideas, tasks, things that need to be followed up on. So the good part about this is that we've got this very clear place to discuss and have ideas and brainstorm for what we should be doing that'll get the best outcomes.

[00:01:51]
The downside, though, is that then it sort of turns Slack into a project management tool, where somebody has to keep track of what messages were sent, whether or not somebody's followed up on them. And that typically leads to somebody having to be sort of the channel admin or channel secretary, who has to take these messages and transcribe them over or transport them over to another medium.

[00:02:16]
So in our case, when I was at Netlify, what we had was effectively what we call the week's kind of admin, we had a funny name for it that I'm forgetting. But it's effectively the channel admin, and their job was to do this sort of admin work. If a question came into the Slack channel, they had to go and take that request and translate it into our to-do list, which was in Notion.

[00:02:42]
They had to go make sure that everybody got a response. They had to be looking at the requests that were open, and making sure that somebody was paying attention to them that they'd been triaged and assigned. And it was really everybody on the team dreaded that week. And because there were six of us, so it only came every month and a half or so.

[00:03:01]
But that week was a terrible week because you didn't get to do anything, you were just sort of monitoring things and doing paperwork. And that's not what anybody, especially if you're not hired specifically to do that job, if your job isn't to be a project manager. Getting an assignment of being a project manager for a week is usually something that drains people of energy, and that's not what we want, right?

[00:03:23]
So ChatOPs is the idea of trying to outsource as much of that busy work as we can to an app. So what we're trying to get to here is compliance via convenience. When you have a process, you are attempting to get people to follow that process. So when my team had our Slack channel, we would try things like saying, if you have a request, you need to put it into Notion.

[00:03:52]
If you want a follow-up, you need to put it here so that we see it. And people weren't unwilling to do it, but they would forget. And when they forgot, that meant that somebody on the team had to go and be the code cop and tell everybody, you got to go do the thing.

[00:04:09]
And that was a mild confrontation, nobody was really angry or upset. But being put in a spot where you have to tell somebody that they did something wrong is a tiny bit of tension that drains your energy throughout the day. And so instead, what we were aiming to do with this ChatOps and why we leaned this way is that we made it so that it was easier to do the right thing than to do the messy.

[00:04:36]
Like drop a request in Slack and then hope somebody follows up on it. Because what we're hoping for is that people want to do something that is convenient, they want to do the easy thing. And if you can give them a shortcut that is the correct thing to do, it's the most compliant thing that they can do with the given process, then they'll take that shortcut.

[00:04:57]
Not out of adherence to the rules or anything, but because it's the fastest and least painful thing that they can do. This was a huge win for us when we put this in place because it meant that we were able to actually remove the admin rotation and let people focus instead on doing the job they were hired to do.

[00:05:22]
And so this was a really powerful thing that we were able to build. And I wanna, This is one of those things that, I feel like it's easy to brush this off as this isn't important. Internal tooling is something that we're seeing happen more and more in companies.

[00:05:42]
We see people talk about the value and need for internal tooling, we're seeing internal tooling teams stand up. And I'm really, really excited about that because that hasn't always been the case. In a lot of companies, internal tools are seen as, they're not aligned with the priorities of the company, right?

[00:06:01]
Well, why are we building software for us instead of for our customers? And you get these arguments that the tools we're building, it's not the best use of engineering time or something like that. But the problem is that nobody wants to be a process cop. Nobody wants to be the one who is monitoring other people's behavior and then having to nudge them gently to do the right thing when they miss the process.

[00:06:26]
Because again, people aren't doing this work to be mean, they're not skipping your process because they don't like you or don't respect you. It's because everybody's busy and every team has a lot of different processes. And it's very easy to forget which team has which process, where you're supposed to put things if you want this team to look at it versus that team.

[00:06:47]
And that forgetfulness is not malice, it's just everybody's busy and there's a lot of things to keep track of. So automating things allows to get rid of the process cop, and instead put in place a process bot. And the process bot is impartial, it's very level, and it's not accusatory, it's just you saying, this is a process.

[00:07:08]
And if you do something that doesn't follow the process, the bot just reminds you, hey, you gotta do the process. And you're making it very friendly and easy for people to then follow that process, which, again, they're not doing it out of spite. If they are, you've got a whole different problem, but for the most part, people aren't doing things out of spite.

[00:07:26]
They're doing things because they forgot, because doing it according to the process takes a lot more time. They've got a context switch and get out of the chat app, and then open up the project management app and fill out this form. And it just gets them, you don't have time for that, so you're like, I'll do it later, right, I'll do that later.

[00:07:43]
And then you don't deal with it later, but then you still need that work done, so you end up relying on the Slack message. So you just want a way to make things more friendly and more accessible for the rest of your team so that they can participate in the process in a way that feels natural.

[00:08:00]
It's the most convenient thing, because again, we're going for compliance via convenience, not through being strict or draconian about your processes. You don't want anybody to have to be a process cop.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now