In this post I'm going to walk through the end-to-end process of building a Copilot using Microsoft Copilot Studio, and then publishing it to a Microsoft Teams channel.

I'll summarize the requirements and process in this written post, but the entire process is much more suited to a demonstration, so to fully understand the authoring process, take a look at the embedded YouTube video which goes into full detail.

Watch the full Copilot creation demo on YouTube

About the Copilot

The Copilot we build in the video provides a conversational UI for users to ask HR-related questions.

The final Copilot in use within Microsoft Teams

The Copilot implements two specific Topic scenarios, and then uses two sources of grounding data to deliver generative answers.

The pre-built triggered Topic scenarios are:

  1. A topic that answers questions about the current and future national holiday calendar.  This experience is implemented as a prebuilt Topic triggered by phrases that match examples, such as "holiday calendar".  
  2. A topic that answers questions about vacation day accruals. This experience is also a prebuilt topic and guides the user to information by asking qualifying information (how long have they been an employee).

Generative Answers is a new feature in Copilot Studio which provides built-in Retrieval Augmented Generation (RAG) capabilities using either website(s) or uploaded files as a data source.

Generative Answers in Copilot Studio

Two RAG sources are included in this solution:

  1. A URL to a company web site.  This source is used to respond to questions about current job postings listed on the public website.
  2. A company handbook is uploaded, and used as a fallback to answer questions not covered by pre-built topics.  

Copilot Studio

This example Copilot is built with Microsoft Copilot Studio, the successor to Power Virtual Agents.  If you're familiar with PVA, you'll feel right at home in Copilot Studio.

Microsoft Copilot Studio

The most significant new features in Copilot Studio (versus PVA), are Generative AI features.  These take two forms:

Generative AI Topic Scaffolding

New topics can be scaffolded automatically by typing a description of what the Topic should do and how it should interact with users.  

Generative AI Scaffolding

Generative Answers

Generative Answers is a feature introduced with Copilot Studio, which provides an easy way to provide grounding data for a conversational chatbot.  The basic Generative Answers feature supports two data sources:

  1. One or more web sites entered by URL
  2. One or more documents, uploaded via the Copilot Studio UI, and stored in the Microsoft 365 Dataverse repository.
Generative Answers in Copilot Studio

Other RAG sources for generative answers are possible, such as using Bing Search (for more focused web content grounding data).

Deploying Copilots to Channels

Once a Copilot is designed and tested, it can be published and then deployed to one of many Channels.

Deployment channels include:

Channels for Copilot deployment

In this example, we'll deploy our Copilot to Microsoft teams, allowing users to interact with the Copilot in the same environment where they have other work-related conversations.

Teams Interaction

Once deployed and installed, the Copilot becomes a chat partner within the familiar Teams user interface.

Starting a new chat with the Copilot

Summary

Microsoft Copilots take many forms, from 1st-party Copilots from Microsoft, such as Copilot for Microsoft 365 and GitHub Copilot, to completely custom solutions built with code.

Copilot Studio falls in the middle–they're created with a low-code authoring tool (Copilot Studio) and hosted by Microsoft based on a consumption pricing model.

This post demonstrates creating a Copilot Studio generated Copilot and deploying it to Microsoft Teams.  For this Copilot we combined both traditional triggered conversation Topics, as well as generative AI answers backed by Microsoft's OpenAI Services.

To see the full walk through of building the Copilot, view the YouTube walk-through!