Skip to content

tdurnford/botframework-human-handoff

Repository files navigation

Microsoft BotBuilder Human Handoff

Demonstrates a simple Bot Conversation with a Human Handoff

This is not an offical BotFramework Sample

Prerequisites

  • Node.js version 8.5 or higher
    # determine node version
    node --version

To run the bot

  • 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.html file.
  • Start the bot

    npm start
  • Connect to Agent

    • Open the emulator and message the bot. To connect to agent, send agent to the bot.
  • Connect to User

    • Navigate to http://localhost:3978/. Message #list to get a list of users waiting to talk to an agent in the queue, and message #connect to connect to the user waiting at the top of the queue.

Testing the bot using Bot Framework Emulator v4

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

Connect to the bot using Bot Framework Emulator v4

  • Launch Bot Framework Emulator
  • File -> Open Bot Configuration
  • Navigate to handoff folder
  • Select handoff.bot file

Deploy the bot to Azure

Prerequisites

Provision a Bot with Azure Bot Service

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 --verbose

Publishing Changes to Azure Bot Service

As 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
./publish

Getting Additional Help with Deploying to Azure

To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.

Further reading

About

Microsoft Bot Framework Human Handoff Example

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published