Machine Learning and AI
Best chatbot platforms to build a chatbot
When developing a bot, we need to decide which platform/channels to integrate with. Here we will review a few of the most popular chatbot platforms and the capabilities they provide.
The business bot platform: Slack
Slack is a real-time messaging app for teams at work, and can be used across multiple devices and platforms. The messaging app is currently used by tens of thousands of businesses from small startups to large enterprises. The app has 9 million weekly active users, and has 50,000 paid teams, and 2 million paid users, thereby making the audience for your bot qualified and highly engaged.
The Slack API offers several actions that bots can do on the platform. These include:
- Post messages. Bots can send messages into Slack either publicly, to a channel, or privately, to a person (direct message, or DM) or set of people (multi-party direct message, or MPDM). Bots can post content that includes rich text, emojis, images, and more.
- Receive user and team message inputs, both text and files, in a specific channel, DM, or MPDM.
- Expose slash commands. A slash command is a unique command, following the pattern of /<command-name> <arguments>, that invokes a response from the bot. An example might be a /report sales command that will make the bot respond with a sales report.
- Expose buttons. These are clickable controls inside messages that can invoke actions on the service side.
- Subscribe to the Events API in Slack. Bots can be notified about events, such as when a user is added to a channel, leaves a channel, replies to a message, and so on.
- Use Slack as an identity provider by signing in with a Slack account.
- Perform administrative actions. Bots can provision channels, invite members, edit and delete messages, and more on behalf of the installing user.
The consumer Bot platform: Facebook Messenger
Facebook chatbots have changed the way consumers and brands interact on the world’s largest social platform. Today, over 100,000 bots are being used on Facebook messenger to collect information, make product recommendations, take orders and even for social good. The users interact with Facebook bots through the messenger interface.
The Messenger API provides the following rich functionality:
- Posting content — support for text, images, files, and structured templates that provide a consistent experience across bots
- Delivered callbacks — a bot can detect that a user has received messages
- Receiving content — a bot can access messages that the user inputs in the chat with the bot
- A rich set of predefined button actions, including Buy, Share, Call, URL, and Postback (to send an action to your bot)
- Quick Replies that provide the user canned responses to questions
- Opening a web view for custom out-of-Messenger interaction
- Sending geo-location information with a single click
The Voice Bot Platform: Alexa
Amazon’s Alexa-controlled Echo Speaker, now in its second generation and with several derivative versions available, continues to expand its music, smart-home, and digital-assistant abilities. It’s first a wireless speaker, but capable of much more. Using nothing but the sound of your voice, you can play music, search the Web, create to-do and shopping lists, shop online, get instant weather reports, and control popular smart-home products—all while your Smartphone stays in your pocket.
The Alexa skills kit provides the following functionality:
- Register a secondary voice command called an invocation name. For example, your print service can register “Alexa, print xyz.”
- Receive client inputs. The service transcribes the user’s voice and sends it to you.
- Output voice back to the user. Alexa will read out the text you reply to the user with.
- Support for smart home skills — i.e., integration with Internet of Things (IoT) devices such as smart lights and connected home locks.
Note that this is not a platform that lets you add your own bot. You will need to plug in your service as a skill.
Keep in mind that Alexa is not a chatbot development platform, you will need to plug in your services as as skill that the super bot exposes. Also note that Alexa is available in other devices, such as smart watches and third party IOT devices.
The Teen’s Bot platform: Kik
Kik, the mobile chat application popular with teenagers, has more than 300 million users. On Kik’s chatbot platform, companies can build, grow and monetize for highly engaged teen audience.
About 33 percent of U.S. teens use Kik.
The Kik API provides the following rich functionality:
- Sending messages, including text, links, images, and rich media
- Received/read and delivery receipts — the bot can detect that a message has reached the user’s device and that the user has read the message
- Receiving messages — the bot can receive text messages posted by the user in a direct communication or messages that include a @mention of the bot name.
- Canned responses in the form of buttons
- Broadcasting a message to a large number of users in a low-priority, outside-of-the-conversation context
- Opening a webview for custom out-of-Kik interaction
The legacy bot Platforms
There are also a few more traditional chatbot platforms that we should consider. While you may not immediately think of these as bot platforms, they are actually very common and quite effective platforms for bots.
Email is a very common and standard means of communication. Many businesses use email as their sole communication platform. Emails are also common in business-to-consumer communication: from Zendesk support to MailChimp marketing engagement, businesses commonly use emails to interact with their partners and clients.
Both common email protocols, IMAP and POP3, provide a limited set of functionality:
- Sending emails to a user or a set of users (hiding some recipients using the BCC feature). Bots can email rich content that includes rich text, titles, emojis, images, and more.
- Received/read receipts. Using a hidden tracking pixel, bots can get notified when a user opens an email. This is not a 100% effective solution, as some clients block that pixel.
- Receiving emails (both new messages and replies to email threads). The bots can also reply to emails.
The most common communication apps in mobile, SMS (Short Message Service, sometimes just referred to as text) application use the cellular infrastructure rather than the internet, making them accessible and extremely popular in emerging countries and on low-end phones around the world. SMS services are tied to your phone number, making it somewhat easier to register with bots that use SMS as a medium.
The SMS API provides the following functionalities:
- Sending short text messages (length depends on language encoding)
- Receiving short text messages (length depends on language encoding)
- Some providers also support rich interactions such as sending and receiving images through the MMS (Multimedia Messaging Service) protocol, but that is usually unreliable and operator dependent.