Bot Framework Azure Frequently Asked Questions

This article answers commonly asked Azure questions.

APPLIES TO: SDK v4

How do I create my own App Registration?

You might create your own App Registration when:

  • You create your bot in the Bot Framework portal.
  • You create the app registration for a third party that doesn't have access to Azure.
  • You need to manually create your own App ID (and password).

Follow the steps described below.

  1. Sign into your Azure account. If you don't have an Azure account, you can sign up for a free account.

  2. Go to the app registrations pane and click New registration in the action bar at the top.

    new registration

  3. Enter a display name for the application registration in the Name field and select the supported account types.

    registration details

  4. Select Register

    After a few moments, the newly created app registration should open a pane. Copy the Application (client) ID in the Overview pane and save it. You'll need it to populate the related App ID field during the bot creation, as explained later in this article.

    application id

Creating a bot using the Azure portal

If you're creating your bot in the Azure portal using the Azure Bot resource, you need to generate a secret key (client secret) for your app registration.

  1. Select Certificates & secrets in the left navigation column of your app registration's pane.

  2. In that pane, on the right, select the New client secret button. In the pop-up dialog, enter an optional description for the secret, select the expiration from the Expires radio button group.

    new secret

  3. Select Add.

  4. Copy the secret's value from the table under Client secrets and save it.

    copy secret

  5. During your bot registration, when creating the App ID and password, enter the App ID and the secret you saved in the proper input boxes as shown in the figure below.

    Note

    The secret will only be visible while on this blade, and you won't be able to retrieve it after you leave that page. Be sure to copy it somewhere safe.

    new app id

An example of how to apply the above steps can be found in Add authentication to a bot.

What files do I need to zip up for deployment?

You must manually create a zip archive with all the files in the project, as described in the step: zip up the code directory manually step. Make sure that you select all the files and folders in your bot's project folder. Then, while still in the project folder, zip up all the selected files and folders as shown in the picture below.

select all and zip

What version of Azure CLI should I use to deploy a bot?

Use the latest version of the Azure Command-Line Interface (CLI) otherwise you'll get deprecated commands errors. See Install the Azure CLI.

What should I do when getting Azure CLI deprecation errors?

Upgrade to the latest version of the Azure CLI. For Azure CLI version 2.2.0 or later, you must use az deployment sub create and az deployment group create instead of az deployment create and az group deployment create commands respectively.

Change log of the Azure CLI commands used to deploy a bot to Azure

Azure ClI version Command1 Command 2
Azure CLI 2.2.0 and later versions az deployment group create az deployment sub create
Azure CLI 2.1.0 and earlier versions az group deployment create az deployment create

For more information, see Azure CLI change log.

The following are the az deployment deprecated commands:

Deprecated Replaced By
az deployment <create/list show/delete/validate/export/cancel> az deployment **sub** <create/list/show/delete/validate/export/cancel>
az deployment operation <list/show> az deployment operation **sub** <list/show>
az group deployment <create/list/show/delete/validate/export/cancel> az deployment **group** <create/list/show/delete/validate/export/cancel>
az group deployment operation <list/show> az deployment operation **group** < list/show>

How do I know whether the Azure CLI commands are deprecated?

To know if an Azure CLI command is deprecated, execute the command with the -h (help) option as shown in the picture below.

cli help

Azure CLI Change Log

Read more about Azure CLI change log.

Azure Resource Management (ARM)

The following is a consolidated list of the commands that fit the current Azure CLI design: az {command group} {?sub-command-group} {operation} {parameters}.

  • az resource: Improve the examples of the resource module.
  • az policy assignment list: Support listing policy assignments at Management Group scope.
  • Add az deployment group and az deployment operation group for template deployment at resource groups. This is a duplicate of az group deployment and az group deployment operation.
  • Add az deployment sub and az deployment operation sub for template deployment at subscription scope. This is a duplicate of az deployment and az deployment operation.
  • Add az deployment mg and az deployment operation mg for template deployment at management groups.
  • Add ad deployment tenant and az deployment operation tenant for template deployment at tenant scope.
  • az policy assignment create: Add a description to the --location parameter.
  • az group deployment create: Add parameter --aux-tenants to support cross tenants.

What is the Azure Bot Resource?

The Azure Bot resource is an update from the Web App Bot or Bot Channels Registration, which makes it easier for developers to get started using the Bot Framework Composer bot development tool. Instead of creating resources such as a web app during bot creation, resources are created using Bot Framework Composer, which offers more flexibility in what resources are deployed. Composer provides a visual design canvas that makes bot development easier.

Why are Web App Bot and Bot Channel Registration being deprecated?

Functionally, Azure Bot, Web App Bot, and Bot Channels Registration all utilize the Bot Service in the same way "under the hood". The Azure Bot path is easier, and more configurable for developers. Legacy items are being removed from the Azure Marketplace, though existing resources will continue to run and be supported.

Will my Web App Bot or Bot Channel Registration keep working and for how long?

Yes, your Web App Bot or Bot Channel Registration based resource will continue to run. There are no plans to drop support for existing bot resources.

Do I need to migrate my existing bot to the Azure Bot?

No, you don't need to migrate your existing bot; it will continue to run as is.

Can I migrate my existing bot resource to an Azure Bot?

Currently, no, this isn't supported. If your bot isn't being used in production, you can delete your old bot resource and reuse the bot name and app ID in a new bot resource (after some time for the old record to get deleted). The new Azure Bot is designed around creating your bot using Composer, and so the gains from such a migration would be minimal.

What's the difference between the Azure Bot and the Web App Bot or Bot Channels Registration?

The Bot Service behind Azure Bot and Web App Bot/Bot Channels Registration is the same; the change is in how the resources are created that you use in your bot such as web apps, language understanding, and more. Rather than the one size fits all templates that the Web App Bot used, Bot Framework Composer can be used to create resources for the Bot with much more flexibility than the Web App Bot templates allowed. Bot Channels Registration and Azure Bot are basically the same capabilities renamed. The UX is slightly different in the Azure portal to help customers connect to the Bot Framework Composer.