Writing September 8, 2017 · 3 min read

Amazon Lex and Slack as your Business' Hub


During the first part of my career in IT, I helped organizations implement enterprise-grade Systems Management Solutions - think IBM Tivoli, BMC, HP Openview, etc. - you name it and I most likely installed, configured and maintained the systems companies use to monitor and manage their IT infrastructure. The ‘holy grail’ of Systems Management was a centralized console. The idea was to consolidate all of the information from all of the monitoring and management tools into a single dashboard where everyone could get the information they needed regardless of job function.

Here’s what everyone wanted:

Centralized Monitoring Dashboard

Looks simple enough, but getting everything integrated took time and since all the tools spoke their own “language” you had to have a broad range of skills on the team to make it happen.

In January, I started an [AWS consulting and Managed Services] (https://curiousorbit.com) business and what I realized almost immediately was 1) my customers always asked me the same questions, and 2) I always wanted to look up the same information about my clients. Like many small businesses, I use several SaaS solutions to run my business; this meant to get the information I needed to log in to a bunch of different tools.

I spend a fair amount of my day in Slack. I run my own Public Cloud Slack group, I use it to help support my Managed Services customers, and I belong to a few great communities. As I thought about it more, I realized that Slack had become my centralized console. With this realization in hand, I set out to transform my current Slack deployment from communications tool to a centralized console which will help me manage my business.

I’ve talked about [ChatBots] (https://curiousorbit.com/blog/building-my-first-slack-bot/) before and even created a very simple bot named Ruprecht awhile ago. The issue with Ruprecht was that 1) its functionality was quite limited and 2) the bot itself ran on an EC2 instance - not the best idea, based on [my feelings about OS’.] (http://curiousorbit.com/blog/go-serverless-wherever-possible/)

Here are the basic requirements for the new bot:

  1. It had to be completely serverless. I didn’t want to have to manage an OS or pay for resources that would be extremely underutilized

  2. It had to integrate with Slack

  3. For now, it did not need to be customer facing

I use (and love) BaseCRM to help me manage my pipeline, and next to Slack it’s the SaaS tool where I spend the majority of my time. I figured that building a ChatBot that would tell me about the status of my sales pipeline would be a good (and relatively simple) place to start. As a business owner understanding how many leads and deals I have is essential, so I decided to start there.

Here’s an overview of the tools I used to create the solution

Amazon Lex

I used [Amazon Lex] (https://aws.amazon.com/lex/) to build a conversational bot. Compared with Ruprecht, the new bot can understand intent with minimal effort.

AWS Lambda

I used [AWS Lambda] (https://aws.amazon.com/lambda/) to talk to external services, for this version of the ChatBot I’m using the BaseCRM to gather information about leads and deals I’m tracking in my CRM.

BaseCRM

[BaseCRM] (https://getbase.com) is where I track all interactions with my current or prospective customers.

Integrating BaseCRM with Slack using an Amazon Lex chatbot

What’s Next?

As I mentioned earlier in the article, I run my business using a number of SaaS tools. I’ll continue to add more functionality with BaseCRM, but also extend the Bot to other SaaS tools like ticketing, etc.

All writing Start a conversation