Creating a Virtual Assistant

In this section, we will go through the process of creating a simple virtual assistant with two bots using Lex for both the bots and the dispatcher NLU.

Set up your bots

The first step is to create two bots, each one with a specific job and different sets of intents.

In this example, we will use two lex bots configured with two different sets of intents.

  • Set up your Lex secrets. A cross-account role is recommended so the same secret can be shared with both bots and the VA NLU
  • Create a lex bot with using a lex blueprint
  • Create a few unique intents in both bots
  • Publish the bots
  • Use the quicktest feature to make sure intents are responding and the NLU config works.

Create your virtual assistant

To start creating VAs, there are two prerequisites:

  • Your organization must have VAs enabled. Contact your ServisBOT representative to enable this.
  • Your user in the organization must have the master bot builder role to see and configure VAs.

To create a VA, you will need a VA definition saved in a JSON file or use portal’s virtual assistant create screen.

Sample VA config

The VA is created by running sb-cli va create VA.json or by navigating to Virtual Assisant and clicking on the +Create Virtual Assistant button. Once created, you will see it appear in the Virtual Assistants section of Portal and when running sb-cli va list.



  • Provide a dispatcherID (This is used by the system to generate and manage the dispatcher)
  • Select Lex as the NLU engine type
  • Assign your lex secret
  • Add your two newly created bots to the VA
  • Publish your VA

Once publishing is complete, you can use the quicktest button to test a few utterances and to test what bot it will be routed too.

A default endpoint is created when creating a VA. This is most easily visible on the resources section of portal. Click the test link on the resource card to try it out

Testing your VA

Once created, the VA can be tested on lightning by clicking the test button near the bottom.

VAs are not supported in Lightning V1. When testing, make sure that Lightning V2 is being used.


From the image above, we can see the @SessionStart being triggered, sending a welcome message. Typing ‘help’ assigns the helper bot to answer any general questions. Typing ‘send money’ reassigns the bot to the transfer bot, beginning a monetary transfer.