The Problem with Webex Teams

While I was working at Hilton, they adopted webex as their de facto meeting and chat tool. Overall it’s a great tool, but one of our team’s workflows required messaging a lot of people all at once to request a review for something.

Code reviews are a great example of this. When opening a pull request, our standard operating procedure was to @ every engineer on the team, in the team channel and ask for a review. We had a team of 14, and as you can imagine, it gets tedious to @ 14 individual people every time you needed a review. We couldn’t get @here or @all for everyone in the channel, because there were lots of outside observers in our team channel, so a solution had to be made.

Enter an Idea

Webex’s documentation is very complete, and provides a means of creating “bots” that can listen for specific phrases and then respond to them. Or you can @mention the bot and it can read everything you send it.

This gave me an idea, processing a “chat” message isn’t that different than processing a terminal command line; why don’t I make a “bot” that listens for specific commands and can tag people for people.

Groupbot is Born

I made a bot, that ran on one of our private servers that could operate “Groupbot”. Group bot was a very simple tool that you messaged it directly with some special syntax to create “groups” of people, and then later you could message the groupbot to tag those people and it would while repeating your message.

So instead of having to tag people like this:

@bob @tom @jane @reshma @tacocat @bobby @janet @thor @flyingspaghettimonster Please review my PR at http://example.com/1234

We could simply:

@groupbot tag pr-review Please review my PR at http://example.com/1234 

And groupbot would say:

@bob @tom @jane @reshma @tacocat @bobby @janet @thor @flyingspaghettimonster Please review my PR at http://example.com/1234

Much simpler!

Check out the project here: https://github.com/jeromehollon/groupbot-webex