Botservice Extension is an Azure CLI extension that provides support for managing bots and channels on the Azure Bot Service.
Remove the azure bot extension if it's already installed.
az extension list
az extension remove -n <extensionname>
Install the bot service extension as follows -
az extension add -n botservice
NOTE: Please ensure you have Azure CLI version >= 2.0.45 installed to get the latest botservice extension. You can verify your AZ CLI version via
Managing a Bot
Creating a Bot
Login into your Azure account via CLI:
Ensure that you are using the right subscription for creating your bot:
az account show
If needed, change your subscription:
az account set --subscription <your-subscription-name>
You need a resource group (existing or new) to create your bot and related assets. If needed, create a new resource group:
az group create -l <resource-group-location> -n <resource-group-name>
Now create your bot:
az bot create -k webapp -g myResourceGroup -n myBot
If you did not specify Microsoft app credentials during creation, you will be asked to login again so that we can create those credentials on your behalf.
Tip: To avoid specifying the resource group, use
az configure --defaults group=myResourceGroup.
You can get your bot credentials and information using the
az bot show --msbot -n myBot -g myResourceGroup
To avoid having to type your bot name and resource group name every time, use
az configure --defaults botname=myBot group=myResourceGroup
If you are stuck at any point, add a
-hto the command to help you out. For example:
az bot create -h
Modifying a Bot
The following workflow assumes that you have your bot name and resource group name configured by default using
A typical bot workflow is connecting your bot to msbot, downloading the source code, and then publishing back to Azure with changes.
First, connect your bot to msbot. You can get the MsBot CLI at here.
az bot show --msbot | msbot connect Azure --stdin
This will update your .bot file with all the information needed by other botbuilder tools to access it. Now download the source code:
az bot download
This creates a folder with your bot name in the current directory (use
--file-save-path to override the target folder), and downloads the bot source code into that folder. If you created your bot using
az bot create, then the source code will be an echo bot project. It contains post-deploy scripts and build scripts to help deploy it back to Azure. Modify this template code as needed.
To publish your code back to azure, from within the bot directory (use
--code-dir to override the source folder) run:
az bot publish
Updating Bot Properties
az update command to update your bot's description, message endpoint, etc.
For this, the command expects you to supply the right property and value that needs to be updated. To update your bot's description:
az bot update --set properties.description="my new bot description"
Deleting a Bot
az bot delete deletes your bot.
Please note that deleting your bot only deletes the bot resource. It does not clean up other resources provisioned during the creation of your bot like storage account, web site, etc.
Managing Bot Channels
The Azure bot extension supports addition, removal and display of properties for all kinds of channels supported by the Azure Bot Service. Refer to Bot Service Channel Management for the necessary parameters needed to configure each channel.
The CLI supports various commands for each channel. Type
az bot <ChannelName> -h to learn more. For example,
az bot webchat show -n myBot -g myResourceGroup shows the parameters in the webchat channel for the bot. If you used
az configure to set bot name and ResourceGroup, you can call
az bot webchat show.
To remove a channel from a bot, use
az bot directline delete.
Known Issues and Limitations
These are the known issues and limitations that the CLI has right now.
- Creation of msa app id and password is not supported for hotmail.com accounts.
az bot publishfails for a c# solution , when the project is open in visual studio. To work around this for now, please close the solution before doing a publish.