Demonstrates a simple Bot Conversation with a Human Handoff
This is not an offical BotFramework Sample
- Node.js version 8.5 or higher
# determine node version node --version
-
Install modules
npm install
-
Start an ngrok connection
ngrok http 3978
-
Configure Messaging Endpoint
- If you have not already done so create a new Bot Registration in Azure.
- Under settings, change the Messaging Endpoint to your Ngrok connection.
-
Configure bot file
- Add your Bot App Id and Password to the development endpoint in your bot file.
-
Configure WebChat
- Add your WebChat Secret to the POST request in the
./public/index.htmlfile.
- Add your WebChat Secret to the POST request in the
-
Start the bot
npm start
-
Connect to Agent
- Open the emulator and message the bot. To connect to agent, send
agentto the bot.
- Open the emulator and message the bot. To connect to agent, send
-
Connect to User
- Navigate to http://localhost:3978/. Message
#listto get a list of users waiting to talk to an agent in the queue, and message#connectto connect to the user waiting at the top of the queue.
- Navigate to http://localhost:3978/. Message
Bot Framework 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.2.0 or greater from here
- Launch Bot Framework Emulator
- File -> Open Bot Configuration
- Navigate to
handofffolder - Select
handoff.botfile
After creating the bot and testing it locally, you can deploy it to Azure to make it accessible from anywhere. To deploy your bot to Azure:
# login to Azure
az login# provision Azure Bot Services resources to host your bot
msbot clone services --name "handoff" --code-dir "." --location <azure region like eastus, westus, westus2 etc.> --sdkLanguage "Node" --folder deploymentScripts/msbotClone --verboseAs you make changes to your bot running locally, and want to deploy those change to Azure Bot Service, you can publish those change using either publish.cmd if you are on Windows or ./publish if you are on a non-Windows platform. The following is an example of publishing
# run the publish helper (non-Windows) to update Azure Bot Service. Use publish.cmd if running on Windows
./publishTo learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.