Enterprise Messaging News + Insights by Mio

Try Our 4 Sample Enterprise Chat Bots!

How We Chat August 9, 2017

author:

Try Our 4 Sample Enterprise Chat Bots!

If you’re wondering how chatbots work on different enterprise platforms — look no further. We’ve created a collection of starter apps to learn from and build your own.

Interested in building a chatbot for your company as a proof of concept or to learn how they work?

We’ve built 4 samples across Slack, Cisco Spark, and Twilio SMS to help you get a better sense of different interactions you can have with chat applications.

Sample Chat Bots

The following sample apps are different business use cases to better understand conversational user interfaces in the workplace:

Powered by 🎏Glitch — Test the samples in minutes!

Back in March, our developer relations team stumbled upon Anil Dash’s article “Glitch for Your API” (You should read it).

4 months later, all our samples are built and living on Glitch, an incredible live platform that helps any developer get up and running with our API in minutes.

No more downloading SDKs, spinning up hosting at AWS, simply plug in your own API keys and you off and running in our Node.js apps.

Glitch — It’s actual magic ✨

🎤 Special thanks to Anil Dash, Gareth Wilson, and David Miller from Fog Creek Software for walking us through how we could get this done 👊

🐜🤖BugBot for Cisco Spark

Our HelpDesk Bot known as BugBot takes simple chat conversations and converts them into a ticket for a backend help-desk platform. Powered by API.ai and Ben Brown’s A++ Bot Developer Framework, Botkit

🔌 Try it out live: https://bugbot-messageio.glitch.me/

Check out BugBot’s source code on Github.

BugBot is a sample bot written for Cisco Spark that highlights several of Spark’s API methods and functions. It’s a great example of how a bot focused on conversational UI works, and shows how easy it is to load in API.ai’s AI functionality.

Features

BugBot showcases several features of a modern conversational bot, including API.ai’s AI middleware.

Tracked Conversations
BugBot has the ability to follow a conversation as it would evolve naturally. It also has the ability to keep track and match any tickets that are in the context of the conversation you are in, and allows persistent conversations to last over a period of time.

Contextual Intent
Utilizing API.ai’s middleware, BugBot will be able to recognize the intent of a user, like establishing the level of priority for an issue in order to help determine what tickets to write or open.

Emotion and Human-like Characteristics
Using API.ai, BugBot is able to answer questions that don’t necessarily relate to its help-desk abilities. Instead, BugBot is also able to respond with a number of responses to any given question that it understands. These two in tandem give Bugbot a more human-like interface.

Reduced Interactions with Recognized Intent
While BugBot is trying to get more information about your bug, BugBot can easily recognize if you’ve already mentioned key things its looking for. If you’ve mentioned how urgent your ticket is, there’s no reason to ask again. BugBot intelligently identifies these intents, and thus reduces the number of interactions it takes to file your bug report.

Feel free to try out BugBot on your own, by sending it a message on Cisco Spark! BugBot’s sparkbot name is BugBot-messageio@sparkbot.io

[🎏Remix on Glitch]

Once you’ve opened up this link, you’ll be taken to a more detailed explanation of how to set up your new BugBot. At the top of the page, you’ll see a button that says Remix This 🎤. From here, you can follow the Read Me that’s included in BugBot’s code to get everything set up.


💰🤖StockBot for Slack

Stockbot lets users quickly look up Stock prices based on the ticker and receive the associated details in realtime.

🔌 Try it out live: https://stockbot-message-io.glitch.me/

Check out Stockbot’s source code on Github.

Stockbot is a sample bot written for Slack, that can quickly lookup real time quotes for a particular ticker. Stockbot utilizes several of Slack’s API methods and features, including a Slash Command, Events, the Web API, Attachments, and Interactive Buttons. Stockbot is a basic starter chat bot to build a better understanding of Slack’s API, Botkit, and general bot building.

Features

Stockbot showcases several features of Slack’s API and features.

Slash Commands
Stockbot has a Slash Command, /stockbot. This slash command exemplifies Slack’s implementation of an outgoing webhook, where an explicit user driven event (typing /command) sends a payload to your bot, followed by your bot taking some action based on the user’s input.

Events
Stockbot also subscribes to Events, and listens to ‘cash tags’, i.e. $NFLX. During your setup of Stockbot on Slack, you’ll be asked to subscribe to multiple message events in several mediums (direct messages, channels, etc.).

Any time a message is sent to these specified mediums, your bot is sent an event.

Stockbot will run a regular expression match on each of these events, searching for text that matches $CASHTAG. On a match, Stockbot will respond to that event.

API Methods
Stockbot also shows an example of how a method can be called and used, by using the reactions.add API Method. When this method is called, Stockbot will interact with the message that triggered the event or slash command, by adding an emoji reaction (upwards📈 or downwards📉 trending graph) to that message.

Attachments

Stockbot uses attachments to enrich the user experience.

A clickable title link, short bits of information stored in fields, a graphical representation of the stock’s status, and color are all included to present the stock’s data in an easy-to-read fashion.

Buttons
Lastly, Stockbot has a 🔎 “Show More Info” button that populates the attachment with additional fields. In setting up Stockbot, you’ll be asked to set up Interactive Messages, so that when a user clicks the button, Slack will send a payload to your bot containing information about the button that was clicked. We are also using chat.update here to provide a seamless presentation by updating the original message instead of sending an entirely new one.

[🎏Remix on Glitch]

Once you’ve opened up this link, you’ll be taken to a more detailed explanation of how to set up your new BugBot. At the top of the page, you’ll see a button that says Remix This 🎤. From here, you can follow the Read Me that’s included in BugBot’s code to get everything set up.


🔔🤖Notification Bot for Cisco Spark and Twilio

Notification Bot lets you quickly send updates to all of your users at once, regardless of what platform they’re on.

🔌 Try it out live: https://notificationbot-messageio.glitch.me/

Check out NotificationBot’s source code on GitHub.

NotificationBot is a sample bot written for both Cisco Spark and Twilio that is capable of automatically managing subscriptions regardless of what supported platform you are on. With one click, you can seamlessly send messages to users who have subscribed to either service, or both.

To test out NotificationBot and see how you can apply its concepts to your own code, head over to the front-end webpage, click on the Connect over buttons and follow the instructions. You can send notifications to users as the administrator from the Notification console and view/remove users from the Users console.

Features

NotificationBot showcases several features of a modern conversational bot, including built-in multi-platform support.

Multi-Platform Support
NotificationBot can help you understand how to use principles of platform-agnostic and modular programming in order to rapidly develop a bot that can reach more users by not locking itself down to just one platform.

Tip: Look into the code of twilio-chatbot.js and ciscospark-chatbot.js if you want to understand the simple modular interface to learn how you can empower your own bot with multiple chat sources.

Simple User Information System
NotificationBot has a simple way of gathering a users basic information from the chat platforms and presents it in an easy-to-administer web view. It is also able to aggregate users across all the platforms and combine them into one master list.

[🎏Remix on Glitch]

Once you’ve opened up this link, you’ll be taken to a more detailed explanation of how to set up your new BugBot. At the top of the page, you’ll see a button that says Remix This 🎤. From here, you can follow the Read Me that’s included in BugBot’s code to get everything set up.


QuestionBot for Twilio❓🤖

Our Conference Bot known as QuestionBot is a conversational app that tackles those need-to-know details for an upcoming event.

🔌 Try it out live: https://qbot-messageio.glitch.me/

Check out QuestionBot’s source code on GitHub.

QuestionBot is a sample bot written for Twilio that highlights several of Twilio’s API methods and features. It’s a great example of how a bot that is focused on conversational UI works and shows how easy it is to roll your own AI-like system. QuestionBot helps assist you in sending real-time notifications from the chatbot to other systems through the real-time Unanswered Questions feature.

Feel free to try out QuestionBot’s scraping and intuitive question/answer management system on your own by testing it out on its live Question console! And also check out QuestionBot on Glitch to see how to integrate effective and accurate screen-scraping to provide information to your own bots!

Features

QuestionBot showcases several features of a modern conversational bot, including its own built-in AI-lite system.

Accurate Screen Scraping
QuestionBot helps administrators get set up quickly by letting a user import questions and answers from existing FAQ pages using a generic screen scraping algorithm that can handle different FAQ pages.

Tip: Look into the code of scrape.js if you want to understand the algorithm and learn how you can empower your own bot with information scraped from the web.

Real-Time Unanswered Question Update

Caption: A real life question we were asked during a live developer demo…. 🤔

Whenever a user asks a question that QuestionBot can’t answer, it is displayed in real-time on the administrator’s web console. This way, the administrator can quickly set up QuestionBot and get immediate feedback on the types of question he/she still needs to answer.

Tip: The real-time update is accomplished using a technique called long polling. Look into the code of api.js to see how this is set up so you can reuse it in your own projects.

In-built AI
Traditional AI methods require an extensive training stage so that the neural network used by the AI can learn questions and answers. Training stages can be impractical when something has such a fast setup time like QuestionBot and for this reason we don’t have it rely on external AI services. Instead it uses natural language processing systems based on fast string manipulations so that QuestionBot can quickly match a users question to an approximate answer without the extensive training.

Tip: Read into tools like Lunr if you want to implement this for your own bot.

Fuzzy matching
QuestionBot implements fuzzy matching into its AI system, where it is still able to understand what the user meant, even if a few letters are missing, changed or rearranged.

Tip: Read up on natural language calculations like Levenshtein distance so you can understand how to best use this technique for your own benefit in your bot development.

[🎏Remix on Glitch]

Once you’ve opened up this link, you’ll be taken to a more detailed explanation of how to set up your new BugBot. At the top of the page, you’ll see a button that says Remix This 🎤. From here, you can follow the Read Me that’s included in BugBot’s code to get everything set up.

Follow up

We’d love to hear from you on Twitter and at Message.io what you think and any ideas for bot samples you’d like to see. We look forward to watching a new batch of business-focused chat bots launching! 🛠

Note: If you’re interested in launching your primary chatbot across several enterprise chat platforms, sign up for our free API translation product at Message.io 🤖


🤖 Thanks for reading! Feel free to ❤️ this article and make sure to follow us here on Medium.

Leave a comment

Leave a reply