Did you ever have a late night instant message conversation that went something like this:
It’s no fun to be in that conversation. You know you’re stuck sitting in front of a screen for at least the next 10 minutes. And since it’s your work laptop you know that the corporate internet police won’t even let you browse reddit for cat pictures while you wait for VPN and SAP GUI to load up. More so, you know that whatever this person is yelling about is probably not your fault.
I’ve been there, trust me.
What if your conversation could look like this, instead:
Did you notice Commander Data interject in that exchange? More on that later.
As nerds our jobs often involve performing routine technical tasks for people who use our systems. Maybe you reset a lot of passwords, check the status of integrations, or respond to a support inbox. You probably have loads of different communication tools at your disposal. Chat, email, carrier pigeons…whatever gets the job done. If someone needs your help they’ll generally find a way to get in front of you. Digitally or otherwise.
One of the coolest communication tools I’ve worked with in the last couple years is Slack. It’s got individual conversations, group chats, categories, and anything you’d expect from a team chat tool. It’s quickly overtaken email as my preferred method of talking with colleagues.
Except it’s way more than chat. Slack allows you to use pre-built integrations to look at your Jira tasks, GitHub commits, and thousands of other things. What’s even better: you can make your own integrations that interact with its web API. Which makes it the perfect thing to plug into your SAP Gateway to make use of the REST APIs you’ve already created for other purposes.
In my next couple posts, I’ll show you how to make exactly what I did above using (nearly) free tools.
If you’re not using Slack already, you can get a free account. It’s very simple and straightforward. Once you’ve got an account, follow these steps to set up the Slack end of this chain:
- I set this up as a Slash Command. That’s where the “/ask-sap” piece comes from in my chat transcript above. Go here to set a new one up for yourself.
- On the next screen, choose the command that you want to use, starting with a ‘/’ character. You can use /ask-sap if you want to stay perfectly within the tutorial, since these custom commands are for your own Slack team only.
- Click the “Add integration” button.
- On the next page, pay close attention to the “Outgoing Data” and the “Token” sections. You may want to copy or screenshot them for reference later.
- The only thing that absolutely has to be filled-in is the URL field. This has to be an https destination that you own or have control of, and it has to be an endpoint programmable by you. Post 2 of 3 in this series will show you how to set that up in Google App Engine – but you could realistically do it anywhere you have the rights to set up programs to run on a web server.
- Click “Add integration” at the bottom of the page, filling out whatever else you want to along the way. I suggest at least showing your command in the autocomplete list.
What you just did set it up so that Slack will respond to any message that starts with “/ask-sap” by sending an HTTP POST to the URL you provided in the settings. The format of the POST it sends will look like the “Outgoing Data” section that you saw in the setup process. For this demo, the most important pieces are the token and text fields.
That’s it! You now have a Slash Command available in any of your Slack channels. It won’t do anything yet, but that’s what we’ll set up in the next section.
On to Part 2!