Create a copilot
When you create a copilot, you can describe what you want your copilot to be and do, or add those details as separate pieces of information.
The examples in this quickstart create a copilot called the Friendly Copilot Tutor to help users learn about Copilot Studio. However, you can create your own unique copilot using a publicly available website.
After logging in or signing up for Copilot Studio, you land on the Home page. Select Create in the left navigation.
On the Create page, select New copilot.
Use the chat to describe your copilot, using the provided questions for guidance.
Keep your description simple for now, but make sure you include information about what your copilot helps users do and what conversation style and tone it uses. Copilot Studio uses your responses to fill in the details in name, description, instructions, and knowledge that define your copilot.
For example: Your name is Friendly Copilot Tutor. You will help users learn how to create copilots. You should talk to users like a kind, patient teacher. Use https://learn.microsoft.com/microsoft-copilot-studio/
as a knowledge source.
Tip
Instructions determine the goals, tone, and limitations of your copilot. When writing instructions, make sure you:
- Use conversational language with a full description of how you want your copilot to behave. Avoid single-word responses, because they do not give the copilot enough information or context.
- Provide details about the specific goal you want your copilot to help users achieve. For example, Create a copilot for topics related to Human Resources and employee benefits.
- Describe the tone as how you would want a person to respond in a conversion. You can use words and phrases like casual, formal, and understandable for children in grade three.
Add an image to represent your copilot.
Select the copilot icon in the top bar.
Select Change icon.
Choose an image from your device. The image file must be in PNG format and less than 30 KB in size.
Select Save.
After you have a name, icon, description, and instructions, your copilot is ready. Select Create. The Overview tab for your copilot appears.
You now have a copilot you can start testing! You can chat with your copilot in the Test your copilot chat.
Improve your copilot
Now that you have a copilot, you can start testing and improving it.
To open your copilot, in the left navigation select Copilots, then select your copilot.
You need the Overview tab for most of the actions in this section.
Test changes to your copilot
The best way to improve your copilot? Test it. Make some changes. Test it again. Repeat.
In this section, you'll test how changing your copilot's knowledge sources affects how your copilot responds to users.
Start by testing how your copilot currently responds in the Test your copilot chat. Ask your copilot a question. For example, ask how to create a copilot.
In this example, the copilot's instructions are to talk to users like a kind, patient teacher. What if you give your copilot different instructions?
In the Details card, select Edit. Change your copilot's instructions to use a different tone, like talk to users like Jane Austen.
Test your copilot's new instructions with another question. How has the response changed?
Change your copilot's introduction
Help your copilot make a great first impression with a new introductory message. This first message lets users know what your copilot does and encourages them to interact with your copilot.
In the Test your copilot chat, select on your copilot's introductory message. This opens the message in the Topics tab.
If you can't see the introductory message, select Refresh at the top of the test chat panel to restart the conversation.
In the Message box, select the text of the message.
Delete the default message and add your own. In the introduction message, your copilot should greet users, tell them what your copilot does, and tell them how to start interacting with your copilot. You can also give users an example question or prompt.
For the Friendly Copilot Tutor, the introduction message says Hello, I'm here to help you learn how to use Microsoft Copilot Studio. You can ask me all about copilots: "What is a copilot?" "How do I make a copilot?" "How do copilots work?"
Select Save.
To test this change, select Refresh in the Test your copilot chat panel.
Edit your copilot's basics
You can change your copilot's name, description, instructions, and knowledge sources after creating it. Remember to test your changes as you go!
To update your copilot's name, description, or instructions:
In the Overview tab's Details section, select Edit.
Make your changes.
Select Save. Remember, editing the instructions changes how your copilot engages with users. Make sure to test your changes.
To add a knowledge source:
In the Overview tab's Knowledge section, select Add knowledge.
Select the type of knowledge. This quickstart uses Public websites sources.
Enter the URL for the website, then select Add beside the textbox.
Name and describe the knowledge source so you can keep track of all your copilot's sources.
Select Add.
To change existing knowledge sources:
In the Overview tab's Knowledge section, select the overflow menu.
Select Edit to change the knowledge source, or Delete to remove it from your copilot's sources.
You now have a copilot you can start testing! You can chat with your copilot in the Test your copilot chat.
Publish your copilot
Once you're happy with the content authored in your copilot, you can publish your copilot to a website.
Note
You may need to change the authentication for your demo website, depending on who you want to access your copilot. Go to Key concepts - Publish and deploy your copilot for information on authentication levels and how to change them.
At the top of the page, select Publish, and then select Publish again in the Publish this copilot confirmation message. If the publish is successful, you see a green banner on the top of the page.
At the top of the page, select Go to demo website in the overflow menu.
Send the URL to others to demonstrate it.
Copilot Studio empowers anyone in the organization to build copilots in Microsoft Teams. The copilot has built-in natural language processing (NLP) and a no-code graphical interface. With our latest Teams integration, you can create, author, test, and publish your copilot into Teams within the Microsoft Teams interface.
When you create a copilot, consider:
- The types of questions someone might ask
- The different ways a question is asked
- The expected answers
- Whether or not a user has follow-up questions or concerns
To help you get started making human resource (HR) copilots, this quickstart guides you through:
- How to map your scenario and needs to align with what a copilot can do
- How to create a copilot in the Copilot Studio app in Teams
- How to build and enhance topics that answer common HR-style questions
- How to test, publish, and share the copilot with your organization
HR Support Copilot is a friendly question and answer copilot that brings a support professional expert from the HR team, when HR personnel are unable to help. An employee can ask the copilot a question and the copilot responds with an answer if the copilot has content for it.
If the copilot doesn't have an answer, the employee can submit a query. The query is sent to a preconfigured team of experts who respond to a query notification.
Scenario
You work in human resources (HR) at Contoso and need to build an HR support copilot in Microsoft Teams. The copilot answers common HR questions, such as employee time-off, with relevant information from the company's internal knowledge base. The copilot contacts human HR experts and notifies them that an employee needs assistance for uncommon scenarios.
Once the copilot is published, Contoso employees can access HR information in Teams without needing to search the company's intranet.
Install the Copilot Studio app in Microsoft Teams
Start by launching the Copilot Studio app in Teams:
Go to the Teams app store and search for Power Virtual Agents.
Select Add or Open, if you already added it, for the Power Virtual Agents app.
Note
All Power Virtual Agents names will soon be renamed to Microsoft Copilot Studio.
The app opens to the Copilot Studio home page. Teams users can build copilots here without leaving the Teams app.
Tip
Select "..." in the side bar of Teams to show your added apps. Select and hold (or right-click) the Power Virtual Agents icon and select Pin. The Power Virtual Agents app appears in your side bar. You can now return to the app more easily.
Create a new copilot in a team
Select Start now on the Home page.
Pick which team manages the copilot. You can create a new team if necessary, before you add a copilot to it.
Fill in the copilot name and language in the copilot creation window. For more information about choosing a language, see Language support.
Select Create.
Build an employee time-off topic for common time-off queries
Go to the topic list by selecting Topics in the navigation menu.
A copilot comes with a collection of topics that defines the copilot's interaction with end users. Let's build a topic to answer employee questions about taking time-off.
Select + New topic > From blank on the menu bar to create a new topic.
Select Details on the Overview menu and name the topic Employee time off. Give it an appropriate description.
Select Save at the top. Close your Details pane.
Select the Trigger Phrases box to add phrases.
Create several trigger phrases in the Add phrases fields:
- Need information on time off
- I need help with time off
- How many days of paid vacation do I have
- What are the national holidays
- I need extended leave
Trigger phrases for each topic define the ways users ask questions about that topic. These phrases are how we expect employees to ask about time off.
Copilot Studio comes with built-in natural language capabilities. You only need to define a few trigger phrases about time-off and the copilot can accurately trigger the topic based on the employee's input.
Select Save to add the phrases to your topic list.
Define the copilot's interaction with a user topic
Give the employee a message that the copilot is here to help with time-off questions using a message node.
Enter the text in the existing message node I can help with questions related to time-off.
As an HR employee, you know the most common time-off questions are about paid vacation time and national holidays. When a question node with user response options is added, the topic automatically gets a forked branch for each response.
Select the (+) icon below the message node, then select Ask a question to add a question node to the topic.
Enter What information are you looking for? in the Ask a question text box. The employee might ask this question.
Under Options for user, add Paid vacation and National Holidays as two options.
User choices are stored in a variable and the topic branches off, based on the option the user chooses. You can rename the variable to track it better in the topic.
On the variable, under Save response as, select the pencil icon to edit the variable properties.
The Variable properties pane opens. Rename the variable to TimeoffType. Close the Variable properties pane and you see the changes reflected in the authoring canvas.
You can add different responses for each option. For paid vacation, the copilot can point employees to an internal HR website to look up paid time-off policies.
Add a message node for the Paid vacation branch with this message to the user: For paid vacation time-off, go to www.contoso.com/HR/PaidTimeOff to submit time-off requests.
Add a node by selecting the (+) icon to end the conversation with a survey. Select End the conversation, then End with survey. This survey is the customer satisfaction survey prebuilt in the copilot for use in topics.
In the National Holidays path, add a message node with the following text:
National holidays for 2020:
- New Year's Day: January 1st
- Memorial Day: May 25th
- Independence day: July 4th
- Labor Day: September 7th
- Thanksgiving: November 26th - 27th
- Christmas Eve and Christmas Day: December 24th - 25th
End this path in the topic with a survey as well. Add a node by selecting the (+) icon then End the conversation and End with survey.
Test copilot for expected behavior
Copilot Studio comes with a built-in test copilot that lets you test the copilot in real time. You can test the copilot by launching the test copilot canvas and providing the employee's input. When you save the topic, the test copilot is refreshed with the latest content.
To launch the test copilot canvas, select the copilot icon at the bottom of the screen.
Type I need time off information into the copilot chat.
Even though I need time off information doesn't match the trigger phrases exactly, Copilot Studio processes the user's input and triggers the employee time off topic.
As you chat with the copilot in the test copilot canvas, you see where the copilot is in the conversation in real-time by following the green highlights.
Select Paid vacation.
The topic branches off based on the user's response. You can open the TimeoffType variable to see the value of Paid time-off by the user. However, what happens if the user is looking for national holidays in their inquiry? The user might feel annoyed if the copilot asks them to repeat themselves. Let's give it a try.
Above the test copilot pane, select Reset.
Enter Need information on national holidays.
The copilot bypasses its response question on vacation type and directly provides information on national holidays. This choice is because Copilot Studio supports entity extraction and can determine that the user asks about national holidays.
Enhance topic to handle complex queries by escalating to HR experts
Now that you performed the basics, you can add a more complex option to the topic of extended leave.
Return to the topic you created, and then go to the authoring canvas.
In the Question node, add an option named Extended leave.
Since each employee's personal situation is different, questions about extended leave require a discussion with an HR expert You can build the copilot to connect HR experts with your employees.
Add a message node that says Extended leave needs HR expert approval. Let me connect you with them.
Copilot Studio copilots can take actions by adding actions into a topic. In this example, you add a previous basic action that notifies an HR expert. This basic action sends an adaptive card to the HR expert channel in Teams to let experts know a user needs them to reach out.
You can create the basic action to send a message to a Teams channel and then call it with the appropriate input.
Add a question node asking for a description for the issue and add the text How would you describe the issue?
Save the description in a variable named Description.
Add a node under the question and select Call an action.
Select Basic action and then create new flow, which launches Power Automate.
Choose the template Send a message to a Teams channel, then select Continue.
The flow template takes in two inputs from the copilot, the Subject (title for the message) and Message text (actual message) to post to the channel.
Under the Post a message (v3) flow definition, select the Team ID and the Team channel ID where the message should be posted.
(Optional) Add text to the message, in addition to the description entered by the user, and complete the Message field.
Give the flow a name and save it.
Close the flow authoring canvas.
You return to the authoring canvas. You can now add an action and call this newly created flow.
Pass in the variable you created earlier called TimeOffType for the Subject and the Description gathered in the chat. When the flow posts a message on the Expert channel, it shows Extended leave as the title and the message defined in the flow.
Tip
Copilot Studio is directly integrated with Teams, so the copilot knows which user from Teams it's chatting with. This feature allows copilot authors to build personal and customized copilot responses.
To use the name of the person chatting with the copilot, there's a predefined variable named bot.UserDisplayName that be used like any other variable.
You can let the employee know their request notified the experts, who will reach out to them soon.
Add a message node with the message We notified the expert. They'll reach out shortly.
End the conversation with a survey.
Save the topic.
You can add more topics so that HR Copilot can answer more questions from Contoso employees.
Tip
Always test your copilot to ensure it's working as expected for the best employee experience.
You see a message posted to the Teams channel when the flow executes in the test canvas.
Publish your copilot
Publishing the copilot makes the latest updates available to end users.
In the navigation menu, select Publish. Select Publish again.
You need to do a few more actions to make the copilot available to employees.
Tip
If you're already in a conversation with the copilot, you can type start over after publishing your latest copilot content. This restarts the conversation with the latest content published.
Make your copilot available to other employees
On the Publish page, find the option to Open the copilot. You can test your copilot before sharing it.
Select Share the bot, which opens a pane of customization options.
Employees can now find your published copilot in the Teams app store.
Edit copilot details
In the customization pane, you can edit the copilot icon that displays in Teams and change the short and long descriptions for your copilot. These settings are prepopulated with starter content, but can be customized.
Share your copilot with your team
You can add your copilot to the Copilot extensions section of the Teams app store.
Select Add to Teams. You see a checkmark indicating the copilot was added to Teams.
Viewing the copilot in the app store is a workaround to test it, since admin approval isn't required and avoids any spam to the admin. Once you're fully satisfied, share the copilot with your organization, which requires admin approval.
Share your copilot with your organization
Sharing your copilot with the entire organization makes it appear in the Built for your org section of the Teams app store. Access requires admin approval.
Select Submit for admin approval.
Confirm the copilot icon, short description, and long description are correct.
Confirm you want to share the copilot with everyone in the organization.
Submit for admin approval. This part of the process can't be completed right away and requires follow up with the admin for approval.
Find your copilot in the Teams app store
An employee named Melissa can find the copilot you built in the Teams app store.
Depending on how you shared your copilot, Melissa can find it either in the Copilot extensions section or the Built for your org section of the Teams app store. For a copilot to appear in the Built for your org section, it must be approved by an admin first.
Melissa selects the copilot app and selects Add for me. The copilot appears in the Teams side bar.
The Greeting topic automatically welcomes Melissa.
Employee chats with the copilot to ask about time-off
Melissa needs time-off in July and August for personal reasons and enters Need time-off information. Melissa selects Paid vacation and a website appears where she can learn more about paid time-off.
The copilot then gathers customer satisfaction data and ends the conversation.
Melissa reviews the HR site for paid time-off and understands she needs an extended leave. Melissa returns to the copilot and types I need extended leave.
The copilot lets Melissa know that an HR expert is needed for the extended leave request and asks Melissa for a description of the issue.
The copilot notifies an expert, who will reach out to Melissa shortly.
Return to the author's view and go to the HR team's experts channel
You see the copilot ran the flow you added earlier and posted Melissa's request to the channel.