Part 1 – Save time and be more productive at work with Microsoft 365 Copilot

Reading Time: 4 minutes


In this blog series, I’ll delve into the advantages of using Microsoft 365 Copilot. In this first post, I’ll discuss the common challenges we face in our daily tasks at work and how Copilot can help alleviate these burdens, save time and money, and boost our productivity.

We all feel the pressure of work. Information, deadlines, and constant communication can often overwhelm us. AI can help, not just by making work easier or faster, but by making it more fulfilling. When we don’t have to spend as much mental energy figuring out what happened in that meeting, catching up on emails, or finding that document from last week’s chat, we can focus more on the core of our work and the purpose behind it.

In recent years, the pace and volume of work have continued to increase. Data from searches across Microsoft 365 services reveals that on any given workday, Microsoft’s most active Microsoft 365 users:

  • Conduct 18 searches for what they need.
  • Receive over 250 emails.
  • Send or read nearly 150 chats.

Globally, Microsoft Teams users are now in three times as many meetings each week compared to 2020. Additionally, some people use 11 different apps on Windows in a single day to complete their tasks.

AI helps lighten the workload by boosting human abilities and speeding up natural creativity. When leaders learn to use AI effectively, they can enable their teams to embrace this new era of AI-powered productivity, bringing great benefits to their organisations.

Before diving into Microsoft 365 Copilot, let’s compile a list of tasks we typically handle each day at work. On an average workday, you might find yourself:

  1. Catching up on email threads among colleagues.
  2. Engaging in numerous Microsoft Teams chat conversations.
  3. Reviewing recordings of Teams meetings you missed due to other commitments.
  4. Sending various emails to colleagues and external partners.
  5. Creating PowerPoint presentations
  6. Analysing data in Excel, budgeting, transforming it into tables, graphs, or pie charts
  7. Locating emails and Teams messages where you’ve been directly mentioned with the @ symbol and tasked with specific actions to complete.
  8. Reviewing outstanding tasks from this or last week, including important actions assigned by your manager.
  9. Checking emails or Teams channels to ensure you haven’t missed any company announcements.
  10. Planning for the upcoming week’s tasks and meetings.
  11. Organising the next team get together and ensuring fun activities are arranged.
  12. Reading through a lengthy 100 page document in preparation for a meeting the next morning.
  13. Recalling the last time you had a meeting with a specific colleague.

I could list additional daily tasks, but you get the idea.

How can Microsoft 365 Copilot help?

Microsoft 365 Copilot isn’t just another feature introduced by Microsoft. It’s more than that, it’s your AI (Artificial Intelligence) powered Copilot that accompanies you, the Pilot, throughout your day to day interaction with Microsoft 365 apps such as Outlook, PowerPoint, Word, Excel, Teams, Loop and Whiteboard. Copilot was developed to save time and make you more productive by being able to generate new content mimicking human behavior. This is known as Generative AI where machines are able to generate new unique content and respond like your interacting with a real human being.

Going back to the list of daily tasks I created at the beginning of this post. Well, Copilot can assist with addressing those challenges and more. Those challenges we are all aware of at the workplace where the pace of work is overtaking our ability to keep up with our daily tasks. Microsoft 365 Copilot is designed to assist and reduce that burden, such as being able to generate new emails, summarise email threads, summarise a large word document, summarise team meetings you were not able to attend, create you a PowerPoint deck, generate a business proposal, generate a job advertisement, locate email and teams conversations where you were @ mentioned, list your outstanding tasks for the week and more!

Remember, Microsoft 365 Copilot is not replacing you, it’s your Copilot and you’re the Pilot.

Image generated by Microsoft Copilot in Bing

Is Copilot the same as a search engine like Bing or Google?

Is Copilot the same as a search engine like Bing or Google? Not exactly. Copilot is more advanced than a search engine. When you use a search engine, you may ask a question like, “How do I fix this plumbing issue?” The search engine will then scour its index of relevant content and present a list of website links for you to explore. You then have to sift through these links to find the information you need or perform another search.

Copilot, on the other hand, uses a pre trained Large Language Model (LLM) to perform a similar task but with a twist. It doesn’t just find relevant content; it generates new content, providing a direct answer to your question, such as how to resolve the plumbing issue. This process is known as Generative AI. I’ll cover Large Language Models (LLMs) later in this blog series.

Here is a short video from Microsoft which summarises and provides an insight into Copilot.


Is Microsoft 365 Copilot free?
No, this particular service requires a license for each user who will be using Copilot in your organisation. Microsoft 365 Copilot is available as an add-on plan with one of the following licensing prerequisites listed at the at the following Microsoft Learn page, Microsoft Copilot for Microsoft 365 requirements.

Before exploring Microsoft 365 Copilot within the various Microsoft 365 Apps, such as Word, Excel, PowerPoint, Teams and Outlook, I explore how this AI Powered Copilot functions under the hood and provide a high level architecture overview through a number of diagrams.

Click the link below to progress to the next post. See you there 🙂

Copilot for Microsoft 365 under the hood

Build your own copilot with Microsoft Copilot Studio

Reading Time: 17 minutes


Copilot Studio is a low code copilot making tool developed by Microsoft, offering a simplified way to create your own copilot with very little code. But how? Copilot Studio offers a drag and drop graphical interface allowing beginners to create and customise copilots. You don’t need to be an experienced developer to get started and Microsoft have done a great job in ensuring copilot is accessible to both developers and non developers.

Why has Copilot Studio been a game changer? It’s because Copilot Studio gives you a complete end to end experience for creating, managing and publishing copilots for any industry of your choice, whether you’re in healthcare, finance or any other organisation. Copilot Studio allows you to build sophisticated and secure copilots that work exactly as you want them to by choosing from thousands of prebuilt data connectors. These built in connectors allow you connect your copilot to Microsoft and non-Microsoft data sources such as your enterprise data, benefitting from OpenAI and Microsoft’s Large Language Model (LLM), which allows AI (Artificial Intelligence) to answer questions/queries, often making it challenging for users to tell whether they’re interacting with a machine or a human.

That’s great, but I’ve read about Microsoft 365 Copilot, is this the same? Yes, it’s similar because Microsoft 365 Copilot also uses Large Language Models and is a conversational chat interface that allows you to search for the specific information you are seeking, generate text such as creating new emails and is able to summarise documents. For example, it can summarise an email thread which you may want to catch up on after returning to work from holiday, saving you the time going through the whole email conversation. It can generate PowerPoint slides, proposals, essays, write code, create images, summarise a teams meeting you were not able to attend and more! No matter what application you’re using Copilot saves time and money. It’s our Copilot, assisting us, the Pilots, with our day to day tasks. When creating our own custom Copilot we can utilise the Large Language Model (LLM) using our own data.

Great, so why would I use Copilot Studio instead of Microsoft 365 Copilot? Copilot Studio allows you to create your own custom copilot using Microsoft provided Large Language Models hosted on the Microsoft platform. One of the many benefits of Microsoft Copilot Studio is the fact that it allows individuals to create and communicate with custom copilots using natural language understanding. This means that users can type as they would talk, and the copilot will understand and interact with them accordingly. 

The purpose of this blog post is to explore Copilot Studio only. But, before I continue to exploring Copilot Studio, I would like to provide a short explanation of a Large Language Model (LLM).

What is a Large Language Model (LLM)?
A Large Language Model (LLM) is a type of AI that can process and produce natural language text. It learns from a massive amount of data gathered from sources like books, articles, webpages, and images to discover patterns and rules of language. To simplify, a LLM is a computer program that has been pre trained with vast amounts of data so it can recognise and interpret human language. You would use Large Language Models when you need to generate text, images, translate and code. AI utilises this vast amount of tuned data it has been trained upon to intelligently answer questions similar to the way a human would respond.

An organisation named OpenAI have developed a number of intelligent Large Language Models. Have you heard of Chat GPT? a service owned by OpenAI which utilises LLMs to answer your questions. But how does Microsoft relate to OpenAI? Microsoft formed a partnership with OpenAI, utilise the OpenAI LLMs for Microsoft products, and continue to support OpenAI to create more powerful LLMs. For further information on the ongoing Microsoft and OpenAI partnership, visit the following link, Microsoft and OpenAI extend partnership.

If you’re interested to learn more about how LLMs work under the hood, visit the following Microsoft Learn link, Introduction to large language models – Training.


Copilot Studio

Copilot Studio allows you to create your own custom copilots using provided Large Language Models (LLM), but why would I want to create a custom copilot?

There are several reasons why you may want to create you own copilot. You may wish to create a copilot which intelligently answers questions by using a public website or information accessible via your internal applications. For example, you are a company who own hotels around the UK. As an organisation, you could enhance your copilot’s ability to answer questions quickly by pointing it to your organisation’s websites and offer your visitors an intelligent chat bot which can answer queries based on a knowledge base of hotels published on your website. Your customers could use the copilot/chatbot directly from your website when enquiring about which hotel is closest to London, which one of your hotels are pet friendly, which one of your hotels has parking, swimming pool and more. What’s the benefit? Well, you’re freeing up your customer service staff to deal with more challenging issues whilst your copilot deals with the repetitive queries such as how do I reset my password. Copilot can also be configured to check customer records, for example, a customer may want to enquire about they latest bill or book an appointment with a member of staff at one of your office locations. Copilot Studio is the tool which allows you to take control and build your copilot as per your business requirements.

In this blog post I will go through the process of building a custom copilot for this website cloudbuild.co.uk and then input a number of prompts (queries) to find out how my custom copilot responds.

Note
Copilot Studio is a licensed service. A free trial is available. For licensing details, visit the following Microsoft link Microsoft Copilot Studio Licensing.

Let’s get started

  1. Access copilotstudio.microsoft.com

    The first page visible is the overview page as seen in the screenshot below. The Copilot Studio overview page offers templates we can use to setup a custom copilot within minutes. If you prefer not to use the built in templates, type some text in the text box to describe what your copilot should do. For example, we could type,

    I want a copilot named James. It is an assistant for Contoso Hotels, helping to answer customer queries about hotel bookings, how to reset password and hotel facilities.

or

If I could select the built in Helpdesk template. In this case the field would auto populate with the following text, Provide employees with help on troubleshooting issues with their company issued devices.


2. I input the custom message below and press enter on my keyboard.

I want a copilot name James Does who is a technical support engineer. You assist visitors to the site by answering technical queries and cannot assist with any other non-tech related topics.


3. The process takes a few seconds before copilot confirms the instructions (image below) provided in the earlier step and requests for the information below.

The copilot setup asks: Do you have instructions for how copilot should assist, for example a specific tone?


Note:
Copilot will take you through the setup process step by step, however, if you prefer more control over the configuration by going into advanced mode, click the button labelled skip to configuration as shown in the image below.


4. If you’re not sure how to respond to the question in step 3, click What should I say? and copilot will suggest what you may want to type. When I click What should I say? a further message is posted to copilot, can you help me with what to include here as shown in the image below.


Based on the useful tip provided by copilot I can set a tone for when James Does is responding to visitors.

5. Here is my response

James Does should be professional and helpful at all times. See image below.


6. Again, copilot confirms it will follow my instructions and be polite and professional at all times. Now it requests for the source of information. Where knowledge base should copilot use to locate it’s information when responding to visitors. This could be your public website. However, copilot can also link to internal company data sources if needed. I’ll cover these shortly.


7. For the public knowledge base I input cloudbuild.co.uk as that’s where I would like copilot to obtain it’s information from when compiling answers for my visitors. It’s possible to add more than one website if required.

Note:
The more information a website stores, the better. As you can imagine a website with a couple of pages such as an about us and a contact us page would not work well with copilot.

If you’re not sure what to type or require tips, click the option Any Tips? and copilot setup wizard will assist.


8. I input cloudbuild.co.uk as shown below. Copilot confirms the instructions and requests for further information.

Are there any topics or tasks this copilot shouldn’t help or talk about?

We discover that as we move through the setup wizard, we fine tune our copilot, similar to the way we would train staff informing them of what they should and shouldn’t do. I want my copilot to respond to technical questions only.

Another example where you may want to prevent your copilot from responding is if you are in the hotel industry offering hotels around the globe. You may not want copilot to discuss other brands/hotels. Or if you’re a bank, you would want to prevent copilot from responding with products for other banks. Remember the Large Language Model (LLM)? Well, copilot has access to a vast amount of information it could access as a secondary source if needed. This could configuration option could be disabled if required. I’ll go through that option later in this post.


9. Again, copilot confirms my instructions as per the image below


10. To complete the setup, I click the button, I’m done as shown in the image below.

11. Before we can finalise the copilot, we are redirected to a test playground allowing us to test our new copilot by interacting with it.

12. Let’s test our copilot by entering a few prompts.

I ask my copilot how it can help me and it responds with the below message.

Hello! As a Technical Support Engineer, I can assist you with technical queries related to software, hardware, troubleshooting, and other IT-related issues. If you have any specific technical questions or need help with a technical problem, feel free to ask! AI-generated content may be incorrect.


13. Next, I input the following prompt, help me bake a chocolate cake suitable for 10 people

and the response from copilot below is as I would expect.

I specialize in technical support and can assist you with IT-related queries. For baking a chocolate cake, I recommend checking out a recipe website or a cooking blog. If you have any technical questions, feel free to ask! AI-generated content may be incorrect.


14. Looking good so far, let’s ask it a question about how to book a flight from London to Dubai.

The response is professional and polite as I instructed when configuring the copilot.

I specialize in technical support and can assist you with IT-related queries. For booking a flight from London to Dubai and finding the fastest and cheapest options, I recommend using travel websites or apps like Skyscanner, Expedia, or Google Flights. If you have any technical questions, feel free to ask! AI-generated content may be incorrect.


Let’s ask it for advice on credit cards. Response below.


15. Now let’s ask it a technical question.

Provide me with instructions on how to set up Microsoft Entra Entitlement Management step by step

And we have step by step instructions on how to configure Entitlement Management. This information was retrieved from this blog and summarised by copilot. Copilot sent the request to the Large Language Model (LLM) which created the response based on the pre-training it has had.


Furthermore, copilot has also provided the reference of where this information was populated from on my blog. The reference can be located towards the bottom of the response and links to the my blog post about Entitlement Management.


I’m using a custom copilot for a Tech blog, but as mentioned earlier in this post, copilot can be useful for any type of industry, for example, you’re a bank. A customer may have a query about whether they can use their credit card abroad. Copilot would look up the information on your website and provide a professional answer just like a human being would. Copilot is convenient as it saves the customer the time browsing through vast amounts of information on your site or having to contact your call centre. Copilot can save time, money, provide answers to customers quickly and increasing customer satisfaction levels, whilst making your call centre staff available for more complex queries customers may have. Copilot Studio has a lot more to offer including integrating with your internal apps and even allowing it to place appointments, checking customer records and responding.

16. Now that I have performed some testing, I click create to finalise my copilot (image below). The process takes less than a minute to complete. This creates the custom copilot and allows us to configure additional options if needed. We are not publishing this copilot and making it accessible just yet.


17. When the deployment is completed, I see an overview of my custom copilot.

18. Through Copilot Studio I can create and managed several custom copilots for other services if needed. For example, for employees, I may want to create a copilot which is only accessible by staff within my organisation. I’ll explore these options shortly.


19. Scrolling down on the overview page, I can change the description and instructions provided earlier.


Before going into the the option + Add Knowledge section, there is an option visible.

Enabled by default. The option is Allow the AI to use its own general knowledge (preview). This option provides generative answers that can be used as primary information sources or as a fallback source when authored topics can’t answer a user’s query.

To demonstrate, I disable the option as per the screenshot below.

I now ask a question about a topic which is not documented on this blog.

I input, what is a Cisco switch?

Copilot response, I’m sorry, I’m not sure how to help with that. Can you try rephrasing?

Copilot is not able to locate this information on my blog and because I have disabled the option above, it can not use it’s own sources/knowledge via the Large Language Model (LLM) to answer the question.


I re-enable the option and input the same question again and this time we have a response.


20. Let’s move into the knowledge tab. Click the button labelled + Add Knowledge as shown in the image below.


21. As per the below image, knowledge sources are not only limited to public websites. You could include other sources including a company brochure which may be a pdf file, or you may wish to create a copilot for internal staff which can browse your SharePoint and OneDrive data. Microsoft continue to introduce new sources so the screenshot below may be outdated shortly after this post is published.


22. Next, we move onto the tab named Topics

Using topics you can control how your copilot responds to certain topics. You can take control over conversations instead of handing full responsibility to generative AI. This gives you the ability to benefit from the best of both worlds.

For example, a customer inputs a message of “I don’t recognise a transaction on my bill”. Your copilot could respond with a list of questions to ask the customer from a topic you configured. Such as what is the date of the unrecognised transaction, how much was the transaction amount and what was the name of the product on your bill. Copilot could then forward this information to your internal team to investigate. Using a topic we are able to take control and instruct our copilot to use the questions from our topic to collect the required answers.



23. Next we move onto the tab named Actions. This is a great feature which allows your copilot to take actions, such as being able to read customer data in your organisation applications. For example, a customer may ask copilot “what is my outstanding balance?”, your custom copilot could be configured to execute an action to provide the customer with their outstanding balance or information on when payment is next due. There are thousands of built in connectors allowing you to plug copilot with different types of applications.


24. Next, we move onto the tab named Analytics. This feature is great for monitoring and reporting as it allows administrators to analyse the number of sessions taking place on your copilot, where escalations occurred because copilot was not able to assist, any negative or positive customer satisfactions, resolutions by copilot, why the customers were not satisfied and more. The information provided by Analytics could allows an organisation to introduce additional knowledge for copilot to use, or create a new topic to help copilot post the correct questions in future. Analytics could also provide you with information where copilot was not able to respond because it was not able to locate the information in the provided knowledge bases allowing you to publish new content so copilot could assist customers in the future. Furthermore, analytics could provide information on the top queries being asked by customers and provide information on content moderation to check if there is harmful content being returned by copilot. Analytics provides your organisation full visibility into what’s going on with your copilot.


25. And the last hidden tab is channels. Channels refer to the various platforms where you can publish and interact with your copilot. In my case, I would want to display copilot/chatbot on this blog, allowing users to interact with it and ask questions, but it could be made available to internal employees as shown in the images below.


I could select custom website and add the copilot to this blog by adding some provided code to my site.


Here is the code provided by copilot studio if I wanted to add this copilot chat to my blog.


I could publish a custom copilot to Microsoft Teams and control who can access my copilot.


I could select Demo website to view what my copilot would look like when published to a website, before I publish it to my live site.


Here is my custom chatbot published to a demo site.


26. To the right of the tabs we have a settings option. Let’s explore the options.


Here we are provided with additional configuration options to fine tune our copilot further. Let’s go through the available options.

Copilot settings:
We can change the copilot name. This is the name the copilot responds as and could be one of your choice. We can also add a picture for our AI assistance.


Next, we have the tab named voice.

The Optimize for Voice feature allows you to create voice enabled copilots. With the growing trend towards self service applications, voice enabled copilots are making a huge difference for businesses. Voice enabled copilots are used in various applications, such as call centers, mobile apps, and messaging platforms. Voice enabled copilots can collect user input through speech and Dual Tone Multi Frequency (DTMF). DTMF allows users to enter data by pressing keys on their phone keypad for surveys, feedback or for authentication. There are several reasons why you may want to use a voice enabled copilot. For example, automate routine tasks such as call routing, information collection, and basic troubleshooting, allowing human agents to focus on more complex issues. Another use case could be using voice capabilities to assist in medical screenings and patient interactions by collecting information through voice, which can be useful for elderly or visually impaired patients.


Finally, under the copilot details section we have the advanced tab which is used for the purpose of logging and what logs you wish to collect.


27. Moving on from the copilot details tab located in the left pane, we have AI Integration tools. Integrations allow you to connect existing Azure AI tools to your custom copilot. Combining Microsoft Copilot Studio and Azure Open AI allows you to create more powerful copilots that can assist users across various channels.


28. The next tab in the left pane is Generative AI. Here you can configure how your custom copilot should respond. The default setting is set to high where copilot generates fewer answers but responses are more relevant.


29. Next we have Security. Here you can configure security configuration. For example, inviting people to collaborate with you on your copilot. Or you could configure authentication to your copilot allowing users to sign in before they can use copilot, when giving your copilot access to a restricted resource or information.

Web channel security – when you create a copilot, it’s immediately available in the Demo website and custom website channels to anyone who knows the copilot ID. These channels are available by default, and no configuration is needed. However, using this option you can control access by enforcing the use of secrets and tokens for each individual copilot instead of allowing anonymous access.


30. Next we have the option Entities. A list of default entities are created by default. These represent some of the most used information in real world dialogs such as age, colors, numbers, and names. However, new ones can be created if needed. An entity can be thought of as a unit of information that represents a certain type of a real world subject, like a phone number, postal code, city, a person’s name and more. With the knowledge granted by entities, a copilot can smartly recognise the relevant information from a user input and save it for later use. This information can then be referred to in the ongoing conversation.


31. Next we move to Skills. Skills allows you to add automation to your copilot, for example, you could allow your copilot to book an appointment, send confirmational emails and more.


32. Next we move to languages. You can create chat based copilots in Microsoft Copilot Studio in many languages. This allows your copilots to reach a broader audience and engage with more markets around the world.


33. When ready we can click the publish button to make the copilot available to our users/customers depending on the channels you configured earlier.


34. You can also launch the demo website to check if your copilot loads and functions as it should do. Click the ellipsis icon (three dots) and click Go to demo website.


That’s it. I hope you found this post useful and it provided a better understanding of Microsoft copilot studio.

See you at the next post.