Azure Bot Services for Multi-Channel Chatbots
Deploy Conversational AI Bots for Web, Slack, Teams, and more
Previously I discussed how chatbots work in general. In this article we’re going to explore what the Azure Bot Service is and how it lets you serve multiple delivery channels from the same bot.
What is the Azure Bot Service?
The Azure Bot Service is effectively a registration for a conversational AI application on Azure. This registration allows you to connect a deployed chatbots to a wide number of supported channels that users can use to interact with the bot.
This lets you build one bot that can serve a variety of users across multiple different channels, including both text and voice channels.
Additionally, the Azure Bot Service gives you a centralized place to manage, secure, and monitor your bot, regardless of which channel people use to interact with your app.
However, its important to note that Azure Bot Service is not the actual bot code. You still need to create and deploy a bot either using the Microsoft Bot Framework using a supported language or use the Bot Framework Composer to create and deploy a bot.
Instead, Azure Bot Service gives you a single place to manage the distribution of your bot into multiple channels where your users can interact with it.
Managing Channels with the Azure Bot Service
Let’s take a deeper look into what I would consider to be Azure Bot Service’s most compelling feature: Channels.
Once you have a bot framework bot deployed, you can add an Azure Bot Service entry for it and set the bot’s URL to your deployed bot.
Let’s say you already did the work to create a chatbot using C# or Python and the Microsoft Bot Framework and deploy it as a web service.
Your next step will be to create an Azure Bot Service and set its endpoint to your bot’s URL.
After that, your bot should be connected (assuming all settings are correct). New bot services start with a web chat channel active by default. However, you have the option integrate your chatbot into additional channels should you choose - or remove the default web chat channel.
See Microsoft’s documentation on the full lists of channels, but here are a few key channels you may be interested in include:
- Web Chat Embed
- Microsoft Teams
- Slack
- Alexa
- Twilio (SMS)
Each channel will flag issues it encounters for you to investigate further. Because of this, if your bot is not functioning properly, you may want to check the channels blade in the Azure portal for more details.
Azure Bot Service Pricing
As with anything on Azure, pricing information may change over time or by the region, so please check the pricing details for your region.
However, at the time of this writing the Azure Bot Service offers a free tier up to a certain monthly usage level, at which point you should convert to a paid option. This paid option also includes higher reliability through its SLA.
Additionally, some channels are considered premium and have a per-message charge associated with them. At the time of this writing, for US West it costs around 1 cent for every 20 messages sent on a premium channel.
However, the benefit you get through Azure Bot Service is one bot that can be easily integrated into a variety of services.
My opinion is that Bot Service ultimately cuts down on your maintenance and development time which is worth this charge. However, you and your team will need to make the appropriate decisions for your business.
Services that Integrate with Azure Bot Service
When you use an Azure Bot Service, there are usually a few other services you may consider using as well:
- Azure App Service - commonly used to deploy Bot Framework projects as web applications
- Static Web Apps - can be used to host web pages that include your web chat channel.
- App Insights - used to monitor usage of your app service and bot service and track errors encountered
- Azure Storage - may be used to store bot transcripts or contain images or text for use in responding to users
- Azure Cognitive Services - contain language understanding resources that can help your bot understand users
Final Thoughts on Azure Bot Service
Azure Bot Service is the perfect way to manage your conversational AI solutions built with the Microsoft Bot Framework or Bot Framework Composer.
Bot Service gives you a single place to integrate your bot into multiple channels to serve your users in whatever channels they prefer to use to interact with you.
If you want to get started with Azure Bot Service, check out my guided tutorial on Creating and Deploying an Azure Bot Service.
Stay tuned for more content about bot development, and happy coding!