Connect a bot to channels
APPLIES TO: SDK v4
A channel is a connection between communication applications and a bot. A bot, registered with Azure, uses channels to facilitate the communication 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.
In addition to the provided channels, 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. This implies the following:
- Convert the messages from the Bot Framework schema into the channel's schema.
- If the channel does not support all aspects of the Bot Framework 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 may send the card as an image and include the actions as links in the message's text.
- 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 also.
To configure a bot to connect to a channel, complete the following steps:
Sign in to the Azure Portal.
Select the bot that you want to configure.
In the left pane, select Channels under Bot Management.
In the right pane, select the icon of the channel you want to add to your bot.
After you've configured the channel, users on that channel can start using your bot.
Connect a bot to a channel
The connection steps are different for each channel. See the related article in the table below more information.
|Alexa||Communicate with users through Alexa devices that support Custom Skills.|
|Direct Line||Integrate a bot into a mobile app, web page, or other applications.|
|Office 365 email||Enable a bot to communicate with users via Office 365 email.|
|Connect a bot to both Facebook Messenger and Facebook Workplace, so that it can communicate with users on both platforms.|
|Kik||Configure a bot to communicate with users through the Kik messaging app.|
|LINE||Configure a bot to communicate with users through the LINE app.|
|Microsoft Teams||Configure a bot to communicate with users through Microsoft Teams.|
|Skype||Configure a bot to communicate with users through Skype.|
|Skype for Business||Configure a bot to communicate with users through Skype for Busines.|
|Slack||Configure a bot to communicate with users through Slack.|
|Telegram||Configure a bot to communicate with users through Telegram.|
|Telephony||Configure a bot to communicate with users through the Bot Framework Telephony channel.|
|Twilio||Configure a bot to communicate with users through the Twilio cloud communication platform.|
|Configure a bot to communicate with users using the WeChat platform.|
|Web Chat||Automatically configured for you when you create a bot with the Bot Framework Service.|
|Webex||Configure a bot to communicate with users using the Webex.|
|Additional channels||Additional channels available as an adapter through provided platforms via Botkit and community repositories.|
Bot schema transformation version
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 in order to avoid changing behavior of the 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 a subset 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 are 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:
Supported schema transformation versions
- Date introduced: May 2021
- Direct Line: Remove Deserialize/Reserialize of Adaptive Cards. The content of Adaptive Cards will be passed to the client as is.
- Date introduced: April 2021
- Slack channel: Attachment name is used for Message Text value.
- Facebook channel: Upgrade to Facebook Graph API v9.0.
- Date introduced: April 2021
- Telegram channel: Use MarkdownV2 syntax for all markdown.
- Original version
Publish a bot
The publishing process is different for each channel.
As of October 31, 2019 the Skype channel no longer accepts new Bot publishing requests. This means that you can continue to develop bots using the Skype channel, but your bot will be limited to 100 users. You will not be able to publish your bot to a larger audience. Current Skype bots will continue to run uninterrupted. Read more about why some features are not available in Skype anymore.
Bots are published to Skype from the configuration page. Publishing a bot submits it for review. Before review, the bot is limited to 100 contacts. Approved bots do not have limited contacts and you may opt to have the bot included in the Skype bot directory.
Skype for Business
Skype for Business Online will retire on July 31, 2021. Skype for Business Online customers should see no change to the service before the retirement date. Read Skype for Business Online to Be Retired for more details.
Skype for Business bots are registered with a Skype for Business Online tenant by a Tenant Administrator.
To view the status of a review, open the bot in the Bot Framework Portal and click Channels. If the bot is not approved, the result will link to the reason why. After making the required changes, resubmit the bot for review.
The SDK includes samples that you can use to build bots. Visit the Samples repo on GitHub to see a list of samples.