A bot is an application with a conversational interface. While there are many ways you can implement a bot, some common features of bots 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.
Conversations in a bot are composed of activities, which represent events such as a user joining a conversation or a message being received.
These activities occur within the context of a turn, a two-way exchange between the user and bot. Bots make use of an Adapter that handles communication with the user’s channel.