3 minute read

What are ChatBots and how they work

ChatBots are basically applications that you can build by using several programming languages, including these:

  • JavaScript

  • TypeScript

  • C#

  • Python

ChatBots are hosted on a server and accessed remotely through chatting platforms that they are connected to. Bots also need to be registered in Microsost Azure portal. They are quite easy to deploy and are very usefull, therefore not having one is a waste.

NOTE: We are talking about Botframework bots here, some other bots may not need an Azure registration.


You can interact with Chatbots through a number of different channels. In Botframework, channels are actually chatting platforms nad web chats. In order to use your bot on a channel, you have to registrate it to that channel in Azure Portal, as we mentioned before. We won’t get into details here since we have separate articles about bot development, Azure channel registration and many more.

Some of the channels that BotFramework supports are:

  • MS Teams

  • Skype

  • Slack

  • Facebook

  • Twitter

  • Webex

And many more. Plus, you can use one bot on more channels as well as multiple bots one one channel. You can find full list of channels on Microsoft documentation page.

How ChatBots work and what they do

Bots respond to your message by matching keywords, using language understanding and language generators to understand your message or using speech recognition. They can respond with a fixed sentance, HTML table, link, attatchment, media element and many more.

Bot sends these things as activities in Bot Framework SDK. An activity can be anything from the stuff we mentioned above. It’s up to you to write the logic behind sending those activities and to manage when each one will be sent.

ChatBot’s lifecycle

In the picture bellow you can see bot’s lifecycle which is constantly repeating. This lifecycle enables bots to constantly improove.

What are ChatBots - lifecycle







From left to right:

  • Design

  • Build

  • Test

  • Publish

  • Connect

  • Evaluate

Uses for a ChatBot

  • Active 24/7 on your website

  • Collecting user data for subscriptions

  • Collecting data to run a flow on a remote machine

  • Promoting products and sales on your site

  • Gathering user feedback and review

  • Quizes and tests in school environment

  • Fetching data about weather, trafic, news, etc.

  • Running remote scripts

Up next.

Build a bot with BotFramework SDK