chatbot Archives - Bistec Global Services - Services enabled, digitally!

Tagged Post


Power Virtual Agent

April 10, 2022

Power Virtual Agents from Microsoft allow you to develop intelligent chatbots that can answer questions from users, consumers, and even workers in many languages, allowing you to automate customer service and team management activities.

What is the most attractive feature of Power Virtual Agents?

No programming is needed!

It is also called low code – no code concept as you may incorporate these bots into your processes without the assistance of any data science or engineering staff. This ensures fewer outgoings and none of the complicated code that is expected when integrating this technology.

Within this blog let’s discover how Power Virtual Agents make things easy to connect with consumers in a variety of settings.


  1. What is Virtual Agent?
  1. How can we use PVA?
  1. Advantages of PVA
  1. Real-world examples
  1. Understanding Power Virtual Agent chatbot in detail
  1. Implementing a chatbot
  1. Conclusion

1. What is Virtual Agent?

Power Virtual Agents from Microsoft are intelligent chatbots that respond to inquiries from clients, customers, and team members without the need for human interaction. Rather than dealing with staff communications constantly or paying a large customer care crew to speak with customers, you may create smart bots that handle all of the jobs for you.

Chatbots are growing more popular for businesses of all sizes. According to research, by the end of 2021, 85 percent of customer contacts will be conducted without the use of human agents. And chatbots can lower operating expenses in an organization by up to 30 percent.

Power Virtual Agents, on the other hand, are even more beneficial to organizations due to their integration with so many other programs, services, and connections in the Microsoft ecosystem. Power Virtual Agents, which are part of the Power Apps package, sync with numerous technologies to facilitate interactions across many platforms. For example, Microsoft Teams. When Power Virtual Agents and Teams are combined, you can automate chats with teammates and solve problems rapidly.

2. How can we use PVA?

Power Virtual Agents enables you to build intelligent chatbots that can respond to inquiries provided by customers, other workers, or visitors to your website or business.

These bots may be simply constructed without the assistance of data scientists or engineers. Power Virtual Agents bots have been utilized in a variety of ways, including,

  • To track COVID-19 infection rates and other information
  • To establish support for Sales and other issues.
  • Opening hours and store information
  • Employee health and vacation benefits
  • Common employee questions for businesses

Power Virtual Agents is accessible as a standalone web app as well as an inbuilt app in Microsoft Teams. Most of the features are similar across the two. However, depending on how you want to use Power Virtual Agents, there may be distinct reasons to select one version over the other.

3. Advantages of PVA

  • No coding required
  • Use of graphical interface to easily integrate a powerful chatbot
  • Able to integrate with hundreds of pre-built connectors
  • Compatible with a large number of platforms
  • Able to connect custom workflows to automate the bot
  • High accuracy
  • Low labour cost

4. Real-world examples

 Miami Dolphins

Miami Dolphins power virtual agent

  • Implemented a chatbot that managed 40,000 conversations with fans, answering 97 per cent of queries and enhancing customer satisfaction

Kobe City, Japan

Kobe City, Japan power virtual agent
  • A COVID-19 response chatbot was implemented to rapidly offer information to its citizens, lowering phone traffic by 90%

San Diego Workforce Partnership

San Diego Workforce Partnership -  power virtual agent
  • San Diego Workforce Partnership had an inflow of displaced employees, and its AI-supported virtual agent assisted by processing 75% of enquiries.


OBB - power virtual agent

  • OBB, Austria’s rail network, developed an AI-assisted chatbot to automate simple customer contacts, freeing up human workers for more difficult problems.


TruGreen - power virtual agent

  • In only two days, TruGreen designed an AI-powered virtual agent bot to answer regular enquiries and take action depending on consumer intent.

5. Understanding Power Virtual Agent chatbot in detail


Topics for the bot can be created by users, who can program conversation pathways that can have several branchings based on the customer’s inquiries and replies to the Power Virtual Agent. The authoring canvas may be used to configure topics. Topics can be toggled on and off.

When a new bot is formed, the system generates lesson topics that the Power Virtual Agent administrator may utilize to learn how to develop Power Virtual Agent content. Please keep in mind that these lesson topics are just for training purposes and should not be used in production.

Understanding Power Virtual Agent chatbot in detail - Topics

Trigger Phrases

Each topic should have a few keywords linked with it. Trigger phrases are phrases or keywords that users may enter to direct the bot to a certain topic. It’s critical to realize that trigger words don’t have to be accurate, which is where machine learning comes in. For example, if a subject includes a trigger phrase named “I want help” but the user enters in “help” or “need a help” the bot will still direct the user to the correct topic.

Understanding Power Virtual Agent chatbot in detail - Trigger phrases


Power Virtual Agent has a library of pre-built entities. Entities may be used to inform the bot not only what sort of data to look for when a client writes into the chat window (email address, money, a person’s name, etc.), but also how to record that data. There is, for example, an age object that allows Power Virtual Agent to extract an actual number from the data entered in the chat window. If the user input is ‘I’m 19 years old,’ the bot will save the value ’19’. Alternatively, if someone writes in ‘Five years,’ the bot will save it as a value of ‘5’.

We may also design our own custom entities, which allow us to enter a list of objects as well as synonyms for those items. These lists can be used to organize or categorize words. For example, if you’re creating a bot to handle the status of a request, you may have an object named Request Status with values like ‘Pending’, ‘Completed’, ‘Rejected‘, and so on. By putting these elements into a single list, the bot is able to better analyze the data that is entered.

We may enable smart matching in these custom entities, which allows the bot to detect things in the list even if the user misspells an item or uses a similar term, such as matching ‘status’ to ‘state.’

Understanding Power Virtual Agent chatbot in detail - Entities

Authoring Canvas

From this point, we can start to build our bot. Admins will most likely spend most of their time here, as this is where subjects’ questions, responses, actions, and variables are configured. Anyone with less knowledge about chatbots can also write the canvas’s user interface, although it might get a little busy if you have a lot of questions with different branches. When you begin to construct your dialogue, you have several alternatives to pick from,

Understanding Power Virtual Agent chatbot in detail - Authoring Canvas

  • Message: Each message can be formatted by using the options on the screen. We can also insert data stored in variables within the message. (i.e., if the bot captured the customer’s name earlier, we can use that variable later in the conversation)
  • Ask a question: Show a message: Displays question from VPA; we can use variables to capture customer responses
  • Call an action: The action option allows admins to trigger logic from outside VPA, this can be a Power Automate Flow or a Skills action
  • Show a message: Shows a message to a user, a response is not captured
  • Redirect to another topic: This step will redirect the conversation to another topic
  • End the conversation: Ends the conversation either with a survey or by transferring to a live agent


Variables are placeholders in which the application records customer responses and can be used in a variety of ways by administrators. The variable data can be used in the conversation that Power Virtual Agent has with the customer.

For example, if Power Virtual Agent asks the customer what his first name is, the customer replies Ben, which is saved as ‘Name Variable,’ and responds to the client by saying “Nice to meet you ‘Name Variable,’ which will appear to the client as “Nice to meet you, Ben”. Variables can also be supplied externally to the Power Virtual Agent.

Administrators can run actions (such as Power Automate Flow) and move data from variables to Power Automate Flow. Power Automate will then run and provide the data to Power Virtual Agent, which can subsequently be used in the client discussion. Power Virtual Agent asks the client for an email address and then searches the Dynamics 365 CE database to check whether there is a lead or contact record in the database with that email address. If no contact is available it will have Power Automate build a lead in Dynamics 365.


Power Virtual Agent can be deployed through a variety of channels, including custom websites, mobile applications, and chat apps like Facebook Messenger and Microsoft Teams. Administrators of Power Virtual Agent can utilize the demo website to test the topics after they have been set up and published. This URL can be shared both internally and internationally, but it is not a live site. After running numerous tests, the Power Virtual Agent administrator may analyze the scans for each specific issue.

Understanding Power Virtual Agent chatbot in detail - Publishing

6. Making the first chatbot

Step 01

Sign in to Power Virtual Agent and click ‘start free

Then sign in with your O365 mail.

Step 02

Fill in the bot name and language in the bot creation window.

After filling in all the needed fields, click Create.

Making the first chatbot - Create a Chatbot

Step 03

Create a new topic with an appropriate name.

Create a trigger phrase as the below figure trigger phrases are,

  • What are the opening hours?
  • When are opens?
  • Are you open today

After creating the trigger phrase click the Go to author canvas and you will direct to the author canvas.

Making the first chatbot - Create a Trigger phrase

Step 04

After being directed to author canvas, the flow of the chatbot is displayed with the created trigger phrases.

Continue the flow as you like with the questions, messages, variables etc.

Making the first chatbot - After being directed to author canvas, the flow of the chatbot will be displayed with the created trigger phrases.
Making the first chatbot - After being directed to author canvas, the flow of the chatbot will be displayed with the created trigger phrases.

Making the first chatbot - After being directed to author canvas, the flow of the chatbot will be displayed with the created trigger phrases.

Step 05

After finishing the flow you can select the End the conversation to finish the flow.

Making the first chatbot - End of conversation

The flow will be completed as in the below figure.

Making the first chatbot - End of conversation

Step 06

Click the save button to save the flow of the newly created chatbot.

Making the first chatbot - save the flow of the newly created chatbot.

Step 07

Test your chatbot by clicking the Test your bot.

Making the first chatbot - test your bot

You can do a test run of the created chatbot after that.

Making the first chatbot - test run of the created chatbot after that.

Step 08

Select the publish Icon in the navigation pane.

Making the first chatbot - Select the publish Icon in the navigation pane.

Step 09

Click the Publish button to publish your chatbot.

Making the first chatbot PVA- Click the Publish button to publish your chatbot.

7. Conclusion

Microsoft Power Virtual Agents allows you to engage with clients, consumers, and team members in up to 60 different languages without writing code. Integrating this technology into your firm provides various communication benefits without the need to invest thousands of dollars in data engineers.

Working with a Power Virtual Agent partner enhances your experience. A professional will customize the program to your exact company requirements and give you all of the tools you’ll need for effective setup and ongoing maintenance. This suggests that communication will improve with time.

Authored by Bhashitha Dhananjaya @ BISTEC Global

Intelligent Chatbot on Azure

June 19, 2021

Business Problem

Recently one of our customers in Australia came to us to solve a problem yet they were facing in the support department. They still receive a lot of support requests daily. The solutions for most of these requests are already available in the user manuals, support site, and other materials to which the customers have access. Since many of these requests are easy to fix, it’s a struggle to invoice the customers properly. Also, a lot of support staff is needed to meet the demand. Our client wanted us to come up with a solution to this problem.

We looked at the following parameters to suggest a solution.

The channels of support request

The volume of resources (support documents)

The channels of support requests.

  • Microsoft Teams
  • Help desk system
  • Email requests

The volume of the resources

  • Support site
  • User manuals
  • Q&A site

Based on these facts we decided to organize the resources in a manner that a customer would be able to find out the answers using one of the above-mentioned mediums without having to contact the support staff.

Proposed Solution

We proposed an intelligent Chat-Bot that will be deployed on Microsoft Teams and in their Help Desk system. So, the customers would first chat with the bot and the bot would analyze the available resources for possible solutions. However if the Chat-Bot failed to respond positively then, it would create a support ticket and assign it to support staff.


We then looked at the tools that we can use to develop our Chat-Bot. Furthermore there are plenty of resources out there but, we felt the suite of tools provided by Microsoft are more reliable and easy to use. Microsoft has invested a lot in AI and Natural language processing and has come up with several tools that are ideal to build an intelligent Chat-Bot. Also, it’s easy to test and deploy these tools because of the integration with Azure.

QnA service

QnA service extracts question and answer pairs from the content that you upload. The content can be uploaded as URLs, PDFs, Excel files, SharePoint documents, and many more.

Adaptive cards

Adaptive Card is an open-source toolset that helps apps and services exchange rich snippets of native UI.

Microsoft Teams

Microsoft Teams is a unified communications platform that combines persistent workplace chat, video meetings, file storage, and application integration.

Azure Cosmos DB

Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service. With a click of a button, Cosmos DB enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide.

Chat Bot Behavior

The ChatBot uses QnA service to query the proposed answers for customer queries. We have used Cosmos DB to store the chat session and related data. It’s deployed to Microsoft Teams as a plugin and is available on the support site as a widget.

Generally speaking, once a user enters the chat room in Microsoft Teams he would be initiating a chat with the Bot. The rest of the flow is as follows,

  • A customer initiates a chat with the bot in Microsoft Teams
  • The customer is greeted and shown a welcome card asking for the name and email address
  • Customer types in his question
  • Chat-Bot responds with an answer or more options to fine-tune the response
  • A customer gives feedback on the answers
  • If Chat-Bot is unable to find the best answer then, A feedback form is displayed
  • A customer fills in the feedback form
  • Chat-Bot creates a support ticket with all the information
  • Send the link to the customer


We first created the repository using all the documents, manuals, and URLs. The QnA service allows us to import these different types of resources and generates question and answer pairs. Also, we can extract multipart answers as well so that when a customer asks a question it will be able to refine the answers by giving options.

QnA Maker

We first set up the knowledge base in the QnA maker. Go to and click on Create a knowledge base. You must go through 5 steps to set up the knowledge base.

  • Create QnA service in Microsoft Azure
  • Connect your QnA service to KB
  • Name your KB
  • Populate your KB
  • Create your KB
  • Publish your KB

Once the QnA maker is set up it gives us an interactive window to test the chat. Also, we can build a tool to train our Bot using the Train API. In the process of setting up QnA, we need to set up a QnA service in Azure as well. This is an app service where the Bot deployed and hosted.

Cosmos DB

Go to the Azure dashboard and set up Cosmos DB instance.


Bot app is a .Net Core Web API project. Hence, it has the same structure as a Web API Project. The Bot client communicates using JSON.

The request received by the BotController and passed over to Microsoft.Bot.Builder.IBot instance. This configuration added in the startup.cs as follows,

services.AddTransient<​IBot, QnABot.Bots.QnABot>();

The IBot instance has three delegates,

  • OnMembersAddedAsync
  • OnTurnAsync
  • OnMessageActivityAsync


This delegate triggered when a new chat window is created. This is the delegate we use to send a welcome notification to the user.


When implemented in a bot, handles an incoming activity.


This is the delegate that is triggered when a message is sent by the client to the bot.

In our application, we identified 4 chat states which are,

  • User-information
  • Chat-information
  • User-feedback
  • Support-ticket


This is the initial state. User information is when we capture the user’s name and email and show a welcome message.


Chat information is when we capture user’s requests and send the data to the QnA service. The QnA service would return either response or prompts. This goes on until the user receives the answer he is looking for or he decides to create a support ticket.


User feedback when we capture whether the user’s request answered properly or whether a support ticket needs to be created. When the support ticket created we log the entire chat history in the ticket.


The support ticket is the step of creating a support ticket in the ticketing system( based on user feedback.

Source Code

Source code can be downloaded from here. Once you download the source code you should do the following.

  • Take a copy of appsettings_dev.json
  • Rename appsettings_dev.json to appsettings.json

#Chatbots #Azure #Luis #Microsoft Bot Framework

Authored by Pragash Rajarathnam @ BISTEC Global

Let's talk

We love connecting

We are here to help and support you.

If you believe that we can help you or your businesses requirements - do feel free to drop your details here and don’t hesitate to give us a ring.

Connecting with us on LinkedIn works best.

  • Footer Email