Enhance conversational experiences with Power Virtual Agents and Generative AI
In today’s fast-paced digital landscape, the power of conversational experiences cannot be overstated. As businesses strive to connect with their customers and users on a more personal level, the role of technology in facilitating these interactions has never been more critical. Organizations can harness the power of Power Virtual Agents to build intelligent chatbots that enhance customer interactions, streamline support processes, and improve overall user experiences in industries such as retail, healthcare, finance and public sector.
Update: in November 2023, the Power Virtual Agents product functionality was combined with Microsoft Copilot Studio. At the same time, “bots” were renamed as “copilots”. Everything else in this article remains applicable to the current MS product offering.
Currently there is a transformative synergy between Power Virtual Agents and Generative AI poised to revolutionize the way we engage in conversations. In this article, we will delve into the capabilities of generative models, including natural language understanding, context-aware responses and content creation to craft highly personalized and contextually relevant conversational experiences.
Generative Answers using datastores
Thanks to Generative Answers in Power Virtual Agents, our bots can find and present information from multiple sources (internal to our company, or external) without requiring creation of topics. That feature is a real game changer, as we do not need to manually author multiple topics that may not address our customer’s questions.
Generative Answers can be configured to use the following datastores:
- Public websites: Searches the query input on Bing, returning results only from provided websites. It is possible to configure up to 4 public websites and they should not have more than two levels of depth.
- Internal documentation on SharePoint and OneDrive: Connects to a SharePoint or OneDrive for Business URL, using Microsoft Search API in Microsoft Graph to return results. It is possible to configure up to 4 internal websites, but those documents are only accessible to chatbot authenticated users with access to specified URLs.
- Specific uploaded documents (preview): PDF, Word, PowerPoint, HTML and other type of documents up to 3MB per file that will be stored in Dataverse for current chatbot.
- Custom data: Use a Power Automate workflow to access 3rd party data or enter it manually, formatting the response in JSON format.
We will go into details about the different options in next sections.
Public websites
In the following screenshot we have configured our PVA bot to generate answers according to the content found on our website.
After waiting some minutes, we will be ready to test our chatbot and check whether this data source is used to answer questions from chatbot users. In the following sample we are asking our chatbot about custom connectors, and the chatbot surfaces our website to find related content and even referencing different articles about it:
This could also be done with internal content (SharePoint and/or OneDrive for Business), although our chatbot would require authentication, as it will only show content that the currently logged in user has permissions to read.
Specific uploaded documents (preview)
Although this feature is in preview, now we can upload our own documents that our chatbot can use to generate answers using generative AI. Therefore, when a user asks a question, if there’s not any topic that matches it, the chatbot will use generative AI to find information in the documents that best answers that question. Some important notes that we must take into account are:
- Capacity: All uploaded documents will be stored in Dataverse, and the number of files that can be uploaded will depend on the environment storage capacity. In any case, files can’t be larger than 3MB each.
- Supported document types: We can’t upload image, audio, video and executable files. Among the allowed file types we can find Word, PowerPoint, Excel, PDF, Text, CSV or XML files.
- Permissions: All users that use the chatbot can read those files, or in other words, the chatbot can use those files to generate answer to their questions no matter who they are.
In the following sample, we uploaded two PDF documents to our chatbot:
After waiting some minutes, we can test our chatbot and check the results. In this case, the user is asking for best practices when creating a chatbot with PVA, which can be answered surfacing the content found in the PVA Bot Building Handbook file:
If the user clicks on the Citation link at the bottom of the generated answer, a pop-up window shows the source of the content, that in this case, is the document mentioned before.
To conclude, we can delete any of the uploaded documents into the chatbot, so it will not be used anymore to generate answers to users’ questions.
Custom data
Finally, we can also configure our chatbot to use specific data sources. In this case, we should create a table variable within our chatbot with a content like the following:
[{
ContentLocation: "https://openai.com/blog/chatgpt-can-now-see-hear-and-speak",
Content: "ChatGPT can hear, see and speak"
},
{
ContentLocation: "https://openai.com/blog/custom-instructions-for-chatgpt",
Content: "Custom instructions for ChatGPT"
}]
If we test again our chatbot, it should consider that custom data source content to answer questions, like the following:
When designing our chatbot we can configure the Conversational Booster system topic at any time, which contains all the logic that the chatbot should follow when using generative answers. There we can also specify the chatbot data sources, public, internal, or custom:
As you can see in the screen capture, we could also configure a connection to use our own Azure OpenAI Service, where we could leverage existing OpenAI Large Language Models (LLM) or create our own to provide better answers based on our content.
NOTE: At the time of writing this blog post, all those features only work in English.
Real use case: City urban planning services chatbot
Nowadays customer service in public administration faces several challenges like bureaucracy and red tape: Citizens may find it frustrating to navigate through layers of red tape when seeking assistance or information. Another common problem is that public agencies often have limited budgets and staff resources, making it difficult to provide efficient and responsive customer service. Long wait times, understaffed call centers, and delays in addressing citizen inquiries are common issues.
In one of our customers we recently planned and helped in building a chatbot for a public agency about the city urban planning service. The main targets of the chatbot were the following:
- Speed up customer service.
- Provide a round-the-clock service to residents.
- Reduce the burden on human customer service agents.
- Respond quickly to frequently asked and repetitive questions without the need for human effort. This enables customer service staff to focus on more difficult questions that actually require human expertise.
Besides that, the chatbot should also meet some requirements:
- Chatbot advises and guides users.
- The chatbot can direct residents to the right pages on the website where they can read more detailed information on the subject.
- A chatbot will direct the user to the right customer service channel if his or her question requires more expertise or if the exact information cannot be found on any of the city’s websites.
In order to meet those, we used Power Virtual Agents and Generative AI (in English language), which empowered business users to create an efficient chatbot. Thanks to features like natural language understanding and context-aware responses together with crawling specific content, the chatbot provides best possible answers without the need of business users to create topics manually.
Summary
Power Virtual Agents and Generative AI can work in tandem to create intelligent, responsive, and highly effective chatbots that drive customer satisfaction and business success. Now it is easier than ever to build chatbots that can answer to any kind of questions users may ask thanks to Generative AI capabilities, and in the end, speeding up all the development process.
Need any help with building intelligent chatbots? Contact us.