# Relay Bot Sample of connecting Bot Framework v4 bot to a Power Virtual Agent bot. This bot has been created based on [Bot Framework](https://dev.botframework.com), it shows how to create an Azure Bot Service bot that connects to Power Virtual Agents bot ## Prerequisites - [.NET Core SDK](https://dotnet.microsoft.com/download) version 2.1 ```bash # determine dotnet version dotnet --version ``` ## To try this sample - Clone the repository ```bash git clone https://github.com/microsoft/PowerVirtualAgentsSample.git ``` - In a terminal, navigate to `BYOBSample/` - Update file appsettings.json with your Power Virtual Agent bot id, tenant id, bot name and other settings. To retrieve your bot's bot ID and tenant ID, click on left side pane's ***Manage***, click ***Channels*** and click on the Azure Bot Service channel that you need to connect to. Copy and save the bot ID and tenant ID value by clicking Copy. Bot name can be found in you Power Virtual Agents bot Home page. - Run the bot from a terminal or from Visual Studio, choose option A or B. A) From a terminal ```bash # run the bot dotnet run ``` B) Or from Visual Studio - Launch Visual Studio - File -> Open -> Project/Solution - Navigate to `BYOBSample/` folder - Select `SampleBot.csproj` file - Press `F5` to run the project ## Testing the bot using Bot Framework Emulator [Bot Framework Emulator](https://github.com/microsoft/botframework-emulator) is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel. - Install the Bot Framework Emulator version 4.3.0 or greater from [here](https://github.com/Microsoft/BotFramework-Emulator/releases) ### Connect to the bot using Bot Framework Emulator - Launch Bot Framework Emulator - File -> Open Bot - Enter a Bot URL of `http://localhost:3978/api/messages` ## Deploy the bot to Azure To learn more about deploying a bot to Azure, see [Deploy your bot to Azure](https://aka.ms/azuredeployment) for a complete list of deployment instructions. ## Further reading - [Bot Framework Documentation](https://docs.botframework.com) - [Bot Basics](https://docs.microsoft.com/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0) - [Activity processing](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-activity-processing?view=azure-bot-service-4.0) - [Azure Bot Service Introduction](https://docs.microsoft.com/azure/bot-service/bot-service-overview-introduction?view=azure-bot-service-4.0) - [Azure Bot Service Documentation](https://docs.microsoft.com/azure/bot-service/?view=azure-bot-service-4.0) - [.NET Core CLI tools](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x) - [Azure CLI](https://docs.microsoft.com/cli/azure/?view=azure-cli-latest) - [Azure Portal](https://portal.azure.com) - [Language Understanding using LUIS](https://docs.microsoft.com/en-us/azure/cognitive-services/luis/) - [Channels and Bot Connector Service](https://docs.microsoft.com/en-us/azure/bot-service/bot-concepts?view=azure-bot-service-4.0) - [Restify](https://www.npmjs.com/package/restify) - [dotenv](https://www.npmjs.com/package/dotenv)