How do Chat Bots platforms work: technical overview of Microsoft Skype, Slack, Facebook Messenger and Telegram bots.


Chatbots rise, and the future may be ‘re-written’
Chatbots rise

Chatbots are becoming increasingly popular nowadays. Both Facebook and Microsoft released Chat Bots SDKs recently while Slack and Telegram are already on the board. It’s a new opportunity for all of us — interactive messaging powered by artificial intelligence (AI) are the next big form of communication.

So today I would like to go deeply into this topic and investigate all 4 companies, how their Bots APIs work from the technical point of view.

We will estimate them by 6 parameters:

Getting started guide: a link where to start from with the Chat Bots SDK.

Store: a link to bots store — a place where you can find bots and connect, something like Apple AppStore.

Discovery: How users find a bot, ways in which people can start a conversation with a bot.

Incoming data protocol: How does a bot receive messages from users.

Outgoing data protocol: How does a bot send replies back to users.

Programming languages/frameworks: What programming languages/framework to use when develop the chat bots.

Runtime environment: Where to host your bots

Let’s start!


  1. Microsoft Skype Bots

Getting started guide: https://developer.microsoft.com/en-us/skype/bots/docs, http://docs.botframework.com/connector/getstarted

Store: Skype Bot Directory https://bots.botframework.com/

Discovery: There are three mechanisms users can find and add your bot:

  • Users can add your Bot from a specific bot URL link. The link can be found on the dev portal for your Bot
  • You can add Skype Bot button on your website which points to your Bots add URL https://www.skype.com/en/developer/create-addbot-button/
  • Once your Bot is approved for publishing, users can find it in the Skype Bot Directory available in Skype clients

Incoming data protocol: HTTP webhooks

Outgoing data protocol: REST API

Programming languages/frameworks: C#, node.js

Runtime environment: Microsoft Azure, but you can also use any cloud hostings.


2. Slack Bots

Getting started guide: https://api.slack.com/bot-users

Store: http://slackstack.io/resources/slackbots/

Discovery: use “Slack button” — the simplest way to offer your service to teams using Slack https://api.slack.com/docs/slack-button

Incoming data protocol: real time websocket

Outgoing data protocol: real time websocket API, REST API

Programming languages/frameworks: http://howdy.ai, node.js, javascript and others.

Runtime environment: AWS Lambda, api.ai, Beep Boop, Google Cloud, Heroku, Microsoft Azure and others https://api.slack.com/docs/hosting


3. Facebook Messenger platform

Getting started guide: https://developers.facebook.com/docs/messenger-platform

Store: to be announced

Discovery: use Entry Points — ways in which people can enter into a conversation with your bot through Messenger, via plugins. For example: “Send to Messenger” and “Message Us” buttons on web and mobile https://developers.facebook.com/docs/messenger-platform/plugin-reference

Incoming data protocol: HTTP webhooks

Outgoing data protocol: REST API

Programming languages/frameworks: javascript, node.js

Runtime environment: any cloud hosting (AWS, Heroku, Azure etc.)


4. Telegram Bots

Getting started guide: https://core.telegram.org/#bot-api

Store: https://storebot.me/

Discovery: web/mobile links

Incoming data protocol: HTTP webhooks

Outgoing data protocol: REST API

Programming languages/frameworks: any

Runtime environment: any cloud hosting (AWS, Heroku, Azure etc.)


So as you can see most of the chat bots providers work in the same way — they use webhooks and REST API to interact with users, they can be discoverable by web/mobile links, all of them can be programmed with node.js/javascript, for all of them you need your own cloud hosting environment to run.

Anyway, it’s a new hot topic today and may change in the nearest future. Most of the chat bots providers work in the same way, so it’s a room to stand out. Let’s see how it will be developing.

Show your support

Clapping shows how much you appreciated Igor Khomenko’s story.