It’s been all the craze this last year. Copilots at Microsoft. Investments and implementations of these AI driven conversational applications into every corner of the Microsoft landscape have been done. And with the Ignite news that we will get a low-code Copilot builder with Copilot Studio. I think it’s good to take a step back. From both my series where I want to show how to build a HR Copilot with Power Virtual Agents (now Copilot Studio). And from a holistic point of view on where to start. To begin I want to answer “What makes a good Copilot?” and go from there on how t build one!
So see this as a new start of my series where I show you how to build a HR Copilot. In this series I want to build a Copilot / Conversational Application / Chatbot so employees can:
- Get direct answers to all HR related questions.
- Call in sick
- Get their vacation balance
- Take time off
- Have an escalation opportunity
These all address pain points for both generic employees as HR employees. When you are sick, do you like to call your manager? Would you not rather send a message chat message and have him take care of everything? And if you have a question about HR processes, you prefer to get unblocked immediately. And for HR to answer those questions can be interrupting their flow for other tasks they want to accomplish that day.
Think before you start
Now as you immediately see in the paragraph above, I have a clear goal in mind for my Copilot. And I think this is vital in a successful implementation for any piece of software. A clear goal to me consists of a couple of points.
- A problem statement. Employees want immediate answer with ease of access. A single point to do their actions in an easy manner. HR wants less ad-hoc questions.
- Actions. The ability for Copilots to add significant value.
- Target audience. The employees both from the entire company and HR.
- Escalation opportunity. Leave no question behind.
I think for our HR Copilot we defined a clear problem statement. Although I already tailored it to the solution. A better problem statement could be: “I am sick and I am trying to call in sick but I don’t want to call my manager because my throat hurts which makes me feel frustrated.”.
A couple of these statements should be your starting point of any solution you want to build. We don’t automate for the sake of automations. We do it to save time, improve quality and create consistency. This is true for Copilots as well. Defining good problems can then help you to create the best solution.
Actions speak louder then words
For quite some time now we have chatbots on websites trying to help the user achieve tasks. In the beginning these chatbots were usually a different way to interact then the FAQ page on the same website. These chatbots are not saving anyone time. If the FAQ is correctly placed on the website, I can find my answer quicker and with more context then a chatbot can.
The same can be said about the Generative Answers capabilities of today. Now I do agree that foundation models are far more intelligent then the chatbots we previously talked about. They give way better responses and can actually map the question better then the keyword mapping that was available previously. But on their own a Copilot is not a way to browse your HR documentation.
If you want good adoption of your Copilot you want to get it a lot extra. At the very least you want to add context while you are querying the HR documentation. If I am a programmer and I have questions about our employee benefits I don’t want to know about the benefits of our sales colleagues, I want to know if I can use GitHub Copilot!
But to make the most out of your Copilots you want the user to be able to actually do tasks in the same context of that conversation. If I want to know my available vacation balance I probably want to do a holiday request right after. If you add the ability to do this in your HR Copilot is when you add a lot of value.
Target your audience
With your problem statement you also defined who the users of your chatbot are. In the example of our HR Copilot the target audience are employees. Secondary to this target audience is the HR department and the company HR processes. Both are important to keep in mind when developing your Copilot for the following 3 reasons:
The first reason is the language and tone of voice you can use. Do you want to be more formal as you are engaging B2B customers? Or can you be more informal as your brand identity wants to be more relax and engaging? For our HR Copilot it can also go multiple ways. Do you want to engage the user in their own language or is English good enough? All important decisions to make early, so you can be consistent.
The second reason is where do you want to deploy your Copilot? Will you publish it to your company intranet site where you want your employees to start their day? Do you want to embed it on your public website? For my HR Copilot I prefer a direct Teams deployment. But that is because I personally am quite used to Teams. Of course we can publish it to multiple channels as well. Based on this decision we have to configure user authentications. And I have not even considered adding this Copilot as a plugin to other Microsoft Copilots. (Mainly because it’s still early days, and I have not build it yet. But it’s good to know this is coming)
And finally the third is related to the second. What documents do we want Generative Answers to search and where are they located? Depending on the audience and where we deploy the Copilot we have different options available to us. Most importantly is the internal SharePoint document library we can use. One of the key benefits of SharePoint is that Generative Answers will use the user’s Microsoft Entra ID authentication. So only the documents the user is allowed to open can be searched.
Escalate and use your statistics
Now for the final part I continue with the website chatbot example. Chatbots on websites became actually quite useful when we could speak to a human. The bot would first try to answer our question and it would hand-off to a human agent and you got good help that way. Now I get that for most Copilots this is not feasible.
I urge you to think (slightly) out of the box for Escalation possibilities. For example, in your fall back topic, you can call a Power Automate Cloud Flow. In that Cloud Flow you can do whatever you want. You can send an e-mail to the HR department, write a teams message, submit a ticket to your HR ticketing systems, anything is possible!
At the very least you should log the questions that are not answered correctly so you can learn from them. Microsoft Copilot Studio has excellent analytics capabilities. Building a chatbot was always an iterative process. Based on usage and feedback you’d improve your bot over time. Copilots are no different.
I hope my ramblings help you in building that perfect Copilot with Copilot Studio. If you want a deeper dive of guidelines, Power CAT recently released an excellent slide deck for your Copilot workshop. Please do tell me, what are your best tips for a successful Copilot implementation?