A bot is an application with a conversational interface.

While there are many ways you can implement a bot, some common features include:

  • Users interact with a bot by initiating activities in turns.
  • Activities are events, such as a user joining a conversation or sending a message.
  • Messages can be text, speech, or visual interface elements (such as cards or buttons).
  • A flow of activities can form a dialog, in which state is maintained to manage a multi-turn conversation.
  • Activities are exchanged across channels, such as web chat, email, Microsoft Teams, and others.