Related: VIDEO: Project Management in Office 365 and Microsoft Teams
Are you familiar with the Power Platform? If not, then this blog post is for you!
It is a combination of four business applications (Power BI, Power Apps, Power Automate, and Power Virtual Agents), which are built on top of the Common Data Service. These business applications can be used (combined or individually) to meet challenges by analyzing data, building solutions, automating processes, and creating virtual agents.
In this two-part blog series, we will explore Microsoft Power Virtual Agents. They are a component that allows organizations to create chatbots that do not require coding, which will then engage conversationally with users, providing a powerful experience to help them accomplish their day-to-day activities in an easy, more effective way. Then, we will combine it with Microsoft Power Automate to automate the process based on PVA’s responses.
Before we get into Power Virtual Agents, I want to provide an overview of the scenario we will be discussing in these two blog posts.
The objective is to create a chatbot to help users submit new project ideas. Our fictional organization has a SharePoint list for capturing project ideas, but instead of having the users navigating to the list to create new records, we want to provide them with a bot (their own project assistant) that will collect all the required information and then get the idea created in the list.
Now, let’s get started and create the chat bot. First, access Power Virtual Agents at https://powerva.microsoft.com and sign in. Then, once you have completed the sign in steps and are accessing Power Virtual Agents home page, in the left navigation pane, select Topics. A topic defines how a bot conversation plays out, by having trigger phrases that are keywords or questions that a user is likely to type when wanting to initiate a new conversation. Once on the page, click New Topic:
Figure 1 – Creating a new topic |
The next steps will be to define the topic name, as well as its trigger phrases. I am using common key phrases used in our fictional organization, such as “new demand”, “new idea”, “demand”, and “request”:
Figure 2 – Defining key phrases |
Once the topic and its key phrases are defined, you can save it and then click the Go to authoring canvas command to start creating your bot:
Figure 3 – PVA authoring canvas |
At this point, you will realize that creating a bot requires you to have a vital element: a clear, well-established process. It is extremely important that you have mapped all the steps, conditions, and actions that can happen during the interaction your users will have with the bot, so each one of them is correctly addressed as the conversation flows.
By default, the conversation starts with the bot presenting a message to the user who is interacting with it. I like to keep this initial message, so once the conversation is triggered by a key phrase, we can send a nice message to the user:
Figure 4 – Introductory message |
You can then use the builder to define the next steps of your bot:
Figure 5 – PVA actions |
In this example, the bot will ask a couple of questions to the user, so it can collect the answers and use them as metadata to create the project idea when the conversation is finished. First, it will ask the user’s name:
Figure 6 – Asking a question in PVA |
When asking questions, Power Virtual Agents offers multiple question types, so you can pick the most appropriate one based on the type of answer you need to collect. In this example, when asking for the user’s name, the most appropriate question type would be ‘User’s entire response’, which is a free text format that allows the users to just type in whatever they want. The response will then be saved into a variable in PVA:
Figure 7 – Response saved into a variable |
I do recommend renaming the variable to something more informative, so it will be easier to refer to it later:
Figure 8 – Renaming a variable |
Another important thing to be aware of when creating bots is that, when using questions that are based in multiple choices, Power Virtual Agents will open conditions based on the number of options provided, so you can determine which actions should happen based on the choice made by the user:
Figure 9 – Multiple choice question |
Moving forward, it will be just a matter of following the process to customize the bot with the questions that will allow collecting all the required information to create the project idea:
Figures 10, 11 and 12 – Asking the additional questions |
A very cool feature in Power Virtual Agents is that it allows you to test your bot on the fly. To the left side of the authoring canvas area, you will see the Test bot panel, which allows you to “talk” to your bot. To interact with your bot, just type a key phrase that will wake it up – in this example, I entered the keyword “Request”:
Figure 13 – Testing your bot |
Note how the bot starts the interaction after the keyword is entered. In addition to that, the authoring canvas area highlights in green the actions that have been taken, so can understand where you are in the flow and if it is working as expected. Additionally, if a question is configured to be a choice type, users will see the options they can pick from:
Figure 14 – Options to select from |
In this example, I am presenting users with a summary of what they have entered, so they can have an opportunity to review it and decide if a change is required:
Figure 15 – Summary of the responses entered |
Once everything is confirmed and the user is ready to submit the information, you will be able to use the answers as the metadata that will be used to create the new project idea. However, Power Virtual Agents does not have the ability to perform this action, so we will need to use a different business application that is part of the Power Platform world – in this case, Power Automate – to achieve that.
But this will be a discussion for the second part of this post. See part 2 here!
About Raphael Santos, Microsoft Project MVP
Raphael Santos, Principal Consultant at Sensei Project Solutions™, is a PPM enthusiast, with expertise in providing Microsoft Project, Project Online and Project Server solutions. He has worked in several projects to implement PPM tools, including countries in Latin America (Brazil, Peru and Argentina), in the United States and in Africa. He is also a trainer, with more than 10 years of experience in teaching users on how to use Project Management tools in a more productive way. In 2016, Raphael was awarded with the MVP title by Microsoft, in recognition to his contributions in the Project Management community.
About Sensei Project Solutions™
Sensei Project Solutions™, the Winner for the 2019 Microsoft US Project and Portfolio Management (PPM) Partner of the Year, focuses on bringing Instant Productivity to your team. Our mission is to help individuals and organizations be more productive so that they can achieve their greatest potential. As a Gold certified Microsoft Partner and Registered Education Provider (R.E.P.) with the Project Management Institute (PMI®), Sensei offers a complete set of services and products for a successful Microsoft PPM deployment. Our guiding principles for Proactive PPM follow best practices and industry standards aligned with the Project Management Institute (PMI) and Gartner, enabling organizations to manage resource demand, obtain business intelligence that facilitates better decision making, increase business effectiveness by easily connecting people, and become self-sufficient with PPM processes and solutions. In short, Sensei helps organizations achieve Instant Productivity.
PMP, Microsoft Project MVP
Sensei Project solutions is a recognized global leader in Microsoft project and portfolio management (PPM) solutions focused on improving the way your team works. Sensei’s unique turn-key PPM Platform in the Microsoft Cloud, Sensei IQ™, is designed around your needs and a modern way of working. Sensei IQ™ helps you make informed decisions by understanding how all work fits together with meaningful insights into projects, resources and programs across your portfolios.