AzureAppService – Bot Backend – Deploy

This App Service hosts the Node.js backend used by Microsoft Copilot and the QualiWareAI Teams app.

Required Azure Role

Either one of these built-in roles (or a custom role with equivalent permissions):

  • Owner — full access including role assignments
  • Contributor — manage resources (no role assignments)

If role assignment is needed with Contributor, also grant User Access Administrator.

Azure Administration Tools / Interface

This guide uses the Azure Portal and a manual creation process.

Create and Manage Steps using Azure Portal

1.  Go to AppService and select “Environment Variables”.

2. Following variables would need to be defined This is manual process but these variables are important to make bot backend application to work correctly.

 

Click on Add and Name/value would be defined.  Deployment slot setting should be kept uncheck.

Variables:

  • AZURE_OPENAI_ENDPOINT — Azure OpenAI endpoint URL.
  • AZURE_OPENAI_VERSION — API version for Azure OpenAI (from your service settings).
  • AZURE_SEARCH_API_KEY — API key for Azure AI Search.
  • AZURE_SEARCH_URI — Endpoint URL for Azure AI Search.
  • LOG_LEVEL — optional; use debug for troubleshooting.
  • MicrosoftAppType — set to UserAssignedMSI.
  • MicrosoftAppTenantId — your Azure AD tenant ID.
  • MicrosoftAppId — Entra App registration ID of the user-assigned managed identity.
  • REPOSITORY_DATA_SOURCES_CONFIG — set to json.
  • REPOSITORY_DATA_SOURCES_JSON_PATH — path to the JSON file with repository/index info, e.g., C:\home\site\wwwroot\repository.json.

Bot Application Deployment

  1. Download QualiWareAI.zip (Node backend package) from QualiWare product download site and prepare to upload it.
  1. In the same App Service, open Advanced Tools and launch the Kudu console.
  1. In Kudu, go to Debug consoleCMD.
  1. Drag and drop QualiWareAI.zip into C:\home\site\wwwroot. The ZIP contents will auto-extract.
  1. Edit repository.json to add repositories and their AI Search index settings (these values drive repository selection in Teams/Copilot). Ensure the index name and semantic configuration match your Azure AI Search index.
  1. Return to the App Service overview and Start/Restart the service.