A channel is a connection between a communication application and a bot. A bot, registered with Azure, uses channels to help the bot communicate with users. You can configure a bot to connect to any of the standard channels such as Alexa, Facebook Messenger, and Slack. For more information, see Azure Bot registration. You can also connect a bot to your communication application using Direct Line as the channel. For more information, see Connect a bot to Direct Line.
The Bot Framework allows you to develop a bot in a channel-agnostic way by normalizing messages that the bot sends to a channel.
The service or an adapter translates communication between the Bot Framework Activity schema and the channel's schema.
If the channel doesn't support all aspects of the activity schema, the Bot Connector Service tries to convert the message to a format that the channel does support. For example, if the bot sends a message that contains a card with action buttons to the email channel, the connector might send the card as an image and include the actions as links in the body of the email.
For most channels, you must provide channel configuration information to run a bot on the channel. Most channels require that a bot have an account on the channel. Others, like Facebook Messenger, require a bot to have an application registered with the channel.
To configure a bot to connect to a channel, complete the following steps:
As described above, a channel converts incoming messages from other services to the Bot Framework protocol schema. Likewise, messages sent by the bot to other services are transformed from the Bot Framework native schema to the format of these services. This process is called schema transformation. The Bot Framework Service maintains backward compatibility of the protocol to avoid changing the behavior of existing bots.
Occasionally, a change in the schema transformation process needs to take place that can, potentially, change the behavior of the existing bots. An example of such a change could be any bug fix, if some of the users have taken a dependency on the existing (however erroneous) behavior. Another example of such a change would be updates or improvements in other services that would benefit bots; however adopting these updates can, potentially, change the existing behavior.
By controlling the schema transformation version of their bots, bot developers can control when (if ever) to enable new behavior. By default, newly created bots get the most recent schema transformation version. Existing bots can be upgraded to the newest version when they're ready to take advantage of the improvements introduced in this version. Any bot can be upgraded or downgraded at any time.
You can change your bot's schema transformation version in the Configuration pane under Settings:
Supported schema transformation versions
Version 1.3
Date introduced: May 2021
Changes:
Direct Line: Remove Deserialize/Reserialize of Adaptive Cards. The content of Adaptive Cards will be passed to the client as is.
Version 1.2
Date introduced: April 2021
Changes:
Slack channel: Attachment name is used for Message Text value.
Demonstrate skills to plan, deploy, configure, and manage Microsoft Teams to focus on efficient and effective collaboration and communication in a Microsoft 365 environment.