Copilot Studio: Complete Tutorial for Beginners

Copilot Studio: Complete Tutorial for Beginners

Getting Started with Co-Pilot Studio

Introduction to the Tutorial

  • This tutorial is designed for beginners who want to learn how to use Co-Pilot Studio effectively.
  • The video is lengthy and divided into sections for easy navigation, allowing viewers to jump to specific topics as needed.

Overview of Key Features

  • The tutorial will cover creating a co-pilot agent, adding knowledge from various sources, and understanding conversational orchestration.
  • It emphasizes the importance of not relying solely on AI but incorporating human-like interaction in conversations.
  • Viewers will learn about using entities and variables that enhance the co-pilot's understanding of user interactions.

Importance of Engagement

  • The presenter encourages viewers to engage by liking, commenting, and sharing the video to reach a wider audience interested in learning about Co-Pilot Studio.
  • The speaker rates Co-Pilot Studio as a crucial skill within Power Platform for 2024 due to its strategic relevance.

Building Your First Co-Pilot

Signing Up for Co-Pilot Studio

  • To start building a co-pilot, users should visit the website co-pilot studio.microsoft.com and sign up for a free trial account.
  • A work or school account is required for signing up; no payment is necessary until publishing the co-pilot agent.

Initial Setup Process

  • Upon signing up, users are greeted with an interface that guides them through building their first co-pilot agent. This includes defining how it will assist users.
  • An example scenario involves creating a co-pilot that provides advice on healthy living using information from "The Better Health Channel."

Defining Your Co-Pilot's Purpose

Setting Guidelines and Instructions

  • Users must define how their co-pilots will assist users by providing clear instructions on tone and response style (e.g., friendly language without medical jargon).
  • Custom instructions can include personality traits like being casual or summarizing information in bullet points, enhancing user experience during interactions.

Adding Knowledge Sources

  • Initially, knowledge can only be added from public websites; however, there are options to edit later for more comprehensive data integration.

Creating a Co-Pilot Agent

Overview of Co-Pilot and Co-Pilot Agents

  • The process begins with clicking "create" to set up a co-pilot, which is referred to interchangeably as a co-pilot agent. Microsoft has recently adopted the term "co-pilot agent."
  • The co-pilot is ready for deployment, having chosen a name based on its intended purpose and instructions provided by the user.

Instructions and Knowledge Integration

  • The instructions serve as an overarching prompt that guides the responses generated by the co-pilot agent, ensuring clarity and friendliness while avoiding jargon.
  • The system connects to external knowledge sources, such as the Better Health Website, allowing it to provide informed answers beyond just generative AI responses.

Testing the Co-Pilot's Functionality

  • A test run demonstrates the co-pilot's ability to answer questions about managing fatigue using information from connected websites.
  • While creating a functional co-pilot is impressive, it's crucial not to rely solely on one website; there are more complex functionalities that can be integrated into its design.

Importance of Design Skills in Co-Pilots

  • Effective design involves understanding how to tailor responses based on specific queries rather than depending entirely on generative AI outputs.
  • The response regarding fatigue management includes references and tips sourced from connected knowledge bases, showcasing its capability for nuanced answers.

Exploring Topics and Knowledge Layers

  • Users can interact with the system by asking varied prompts; it can interpret different phrasing effectively.
  • The conversation flow is visualized in a canvas format, illustrating how topics are navigated within the co-pilot's framework.

Building Towards Publication

  • Currently functioning as a fallback topic linked only to one website, future iterations will allow for more complex layers of knowledge integration.

Knowledge Management in AI: Enhancing Descriptions

Importance of Knowledge Descriptions

  • The knowledge description is both mandatory and initially blank, which can be overlooked during the quick creation process.
  • This description serves as a prompt for AI, helping it understand the purpose of the knowledge being provided.
  • An example given is "The Better Health Website," which provides information on healthy living and health conditions.

Refining Knowledge Sources

  • Taking time to refine descriptions can significantly improve AI performance when determining relevant information.
  • A well-designed website with rich content allows the co-pilot to provide accurate answers, showcasing effective knowledge management.

Challenges with JavaScript and Table Formats

  • Websites using JavaScript or complex table formats may hinder the co-pilot's ability to read and interpret data correctly.
  • An example from a pollen forecast website illustrates how human-readable tables may not translate well into structured data for AI.

Testing Knowledge Sources

  • Adding new websites requires providing clear descriptions to enhance understanding for the AI system.
  • Viewing page source reveals that beautifully formatted tables are often not structured in a way that generative AI can easily read.

Limitations of General Knowledge Access

  • When asking about specific forecasts, if general knowledge access is enabled, responses may not utilize provided sources effectively.

Melbourne Pollen Service and Document Uploading

Overview of the Melbourne Pollen Service

  • The speaker discusses the capability of a service to retrieve data from the Melbourne pollen website, demonstrating its ability to access and present information directly from online sources.

Challenges with Live Demos

  • The speaker expresses concern about conducting live demonstrations, indicating potential difficulties in retrieving data due to website structure or content formatting.
  • Emphasizes that generative AI relies on indexing similar to Google and Bing; if data isn't indexed properly, it may not be retrievable.

Limitations of Website Accessibility

  • Highlights that if a website is not accessible for indexing, tools like Microsoft Copilot will also struggle to find relevant information. This limitation is crucial for users managing their own websites.

Document Uploading Process

  • Introduces the option to upload documents as knowledge sources, using an example of Australian dietary guidelines in PDF format.
  • Describes the process of uploading a document into Dataverse, explaining that it uses indexing for processing without creating a database.

Processing Documents and Knowledge Retrieval

  • Notes that larger documents take longer to process but can include various file formats such as PDFs and Word documents.
  • Advises against using Excel files due to their unstructured nature; emphasizes that text-based documents yield better results for knowledge retrieval.

Example Query on Dietary Guidelines

  • Demonstrates querying the uploaded document about standard servings of bread, showcasing how the system retrieves specific information effectively.
  • Points out differences between accessing web content (which redirects users back to the site) versus uploaded documents (where information is extracted directly).

Additional Knowledge Sources

  • Discusses other potential knowledge sources like SharePoint and Dataverse tables but notes these require user authentication for access.

Co-Pilot Functionality and Conversational Orchestration

Overview of Co-Pilot Capabilities

  • The co-pilot can function as a virtual assistant, answering questions based on a controlled set of knowledge rather than pulling from all available data like Microsoft 365 Copilot.
  • Emphasis is placed on the importance of topics to manage information flow, ensuring that generative AI does not take full responsibility for responses.

Understanding Topics in Conversational Design

  • The concept of conversational orchestration allows creators to direct conversations by selecting specific knowledge sources or hardcoded answers.
  • Custom topics are differentiated from system topics; custom topics allow tailored interactions while system topics support basic functionality.

Managing Conversation Flow

  • Escalation topics enable transitioning to live agents when necessary, enhancing customer service capabilities within Dynamic 365.
  • A conversation start topic introduces the bot's identity and purpose, which can be customized for user engagement.

Customizing User Interaction

  • Creators can modify introductory messages and personalize interactions using variables such as bot names or emojis to enhance user experience.
  • Saving changes in the co-pilot interface may require navigating away from certain fields due to UI quirks.

Creating Emergency Response Topics

  • An example is provided for creating a custom topic focused on emergency responses, specifically instructing users on dialing emergency numbers.
  • Trigger phrases are essential for directing conversations; they help the co-pilot identify user intent based on input.

Enhancing Topic Functionality

What Should I Do in an Emergency?

Control Over Knowledge Sources

  • The speaker emphasizes the importance of having control over knowledge sources when designing a co-pilot, especially regarding legal and safety-related topics.
  • Major brands need to carefully consider how they want specific questions answered to maintain their brand image and avoid generative answers that may not align with their values.

Enhancing User Experience with Generative AI

  • The transition from classic experiences to more sophisticated generative AI interactions is highlighted, showcasing advancements in technology over the past three years.
  • A temperature control setting allows for moderation of content creativity versus precision, which can significantly impact user experience.

Topic Management and Descriptions

  • The system now utilizes descriptions from knowledge sources to determine topic triggers, enhancing accuracy in responses.
  • Troubleshooting involves reviewing topic descriptions if the agent fails to find appropriate topics during testing.

Understanding Entities and Variables

  • Introduction of entities as structured data within unstructured text is discussed, allowing for better identification of specific information like age or organization names.
  • An example involving mental health services illustrates how different age groups can be categorized for support options.

Building Topics with Branching Logic

  • A new topic titled "Support Services for Mental Health" is created, indicating branching logic based on user input about age groups needing support.

Creating a Custom Topic for Mental Health Support

Editing and Deleting Topics

  • The speaker expresses a desire for more control over the topic creation process, indicating dissatisfaction with multiple-choice options.
  • They decide to delete an existing topic titled "Support Services for Mental Health" and copy its description to avoid retyping.

Building a New Topic from Scratch

  • A new topic titled "Mental Health Support Services" is created using the previously copied description.
  • The speaker emphasizes asking open-ended questions rather than providing multiple choices, specifically inquiring about the age of individuals needing support.

Utilizing Entities and Variables

  • The discussion includes identifying specific information types (like age) during conversations, which can be saved as variables for later use.
  • The importance of naming conventions for variables is highlighted; they suggest using meaningful names instead of generic ones like "V1."

Conditional Branching Based on Age

  • Conditional branching is introduced based on the user's age, categorizing responses into three groups: child, teenager/young adult, and all others.
  • Each condition triggers different responses tailored to the identified age group.

Sending Messages and Adding Media

  • For children, a message recommending a specific service is constructed using the captured variable (age).
  • The speaker demonstrates how to enhance messages by incorporating images or links to external resources like Headspace's services page.

Advanced Features and External Links

  • They discuss adding buttons and media elements within messages to create more engaging interactions.

Activity Overview What is the Activity?

Introduction to Activity

  • The activity involves inputting user-generated text, which may not always function perfectly due to varying question types.
  • The goal is to utilize generative answers related to a specific topic, allowing for embedding knowledge in various formats, including documents.

Generative AI Experience

  • A new feature called "conversation map" has been introduced, showcasing how the agent selects topics and knowledge sources.
  • Users can trigger specific topics by providing relevant information; for example, asking about mental health support prompts a follow-up question regarding age.

Entity Recognition How Does Entity Recognition Work?

Understanding Entities

  • The system can identify entities even when users do not provide straightforward answers (e.g., recognizing "my child is 6 years old" as an age).
  • This capability allows the extraction of critical information from conversational context, useful for various applications like emails or order numbers.

Skipping Questions

  • If initial context indicates that certain information is already known (e.g., age), the system can skip redundant questions.
  • This feature enhances user experience by streamlining interactions based on previously gathered data.

Actions and API Integration What Can Actions Do?

Creating Actions

  • Actions allow the co-pilot to retrieve external information; popular examples include weather forecasts without requiring user authentication.
  • Users familiar with Power Platform will find existing connectors and custom APIs available for integration.

Weather Forecasting Tool

  • An example of an action includes using MSN's weather forecasting tool to gather detailed weather-related data.
  • Switching from user authentication to co-pilot authentication simplifies access to publicly available data without additional logins.

Configuring Inputs and Outputs How Are Inputs Managed?

Input Specifications

  • Inputs required for actions include location details (city or place name), along with measurement units (Imperial or metric).

Output Customization

  • There are numerous output options available (39 different outputs), allowing users to customize what data they wish to receive from the action.

Understanding the Plug-in Functionality

Inputs Required for Action

  • The plug-in requires specific inputs, including location and units of measurement. In this case, it identifies Bendigo as the location.
  • It needs to determine whether to use Imperial or metric units. The system recognizes missing information and prompts for it automatically.

Setting Units and Outputs

  • After confirming both inputs, the action can proceed to generate a weather forecast based on the provided data.
  • The input for location will be dynamically filled from user responses, while units will be set to a fixed value (Celsius in this instance).

Generating Responses

  • The output configuration allows either dynamic message generation by AI or manual message creation. This flexibility enhances user interaction.
  • Users can opt for an adaptive card format if they possess the necessary skills, which adds another layer of customization.

Integrating Power Automate with Excel Online

Data Source Setup

  • To utilize Power Automate effectively, a basic spreadsheet is created in Excel online containing pollen data that must be formatted as a table.
  • It's essential that this spreadsheet is saved in OneDrive and properly named to ensure seamless integration with automation processes.

Automation Process

  • Power Automate can connect to this spreadsheet since it cannot read directly from websites. Automation could involve updating the spreadsheet daily with new data.
  • A flow is created within Power Automate that takes user input (region name), retrieves corresponding pollen forecast data from Excel, and returns it back to Co-pilot.

Building Flows in Power Automate

  • Users have options when creating flows; they can build new ones or utilize existing flows for efficiency.

How to Create a Pollen Forecast Flow in Co-Pilot

Setting Up the Table and Input

  • The user saves their data in a OneDrive folder, specifically formatted as a table named "pollen forecast." Proper formatting is crucial for the flow to function correctly.
  • The flow requires selecting the region column based on user input. This step involves retrieving the value entered by the user regarding their specified region.

Outputting Results

  • After obtaining the region, the next step is to output the corresponding pollen forecast value. This involves responding to Co-Pilot with text that includes this value.
  • The output is linked back to an Excel source where it retrieves data from a specific row labeled "pollen forecast." A unique name for this action is suggested for clarity.

Publishing and Connection Checks

  • Before publishing, it's essential to verify that connections are properly authenticated; otherwise, errors may occur during execution.
  • Once published, users can interact with the flow similarly to previous setups. The input remains focused on regions while outputs can be customized.

Customizing User Responses

  • Users have options for how responses are generated after actions are executed. AI can dynamically create messages based on inputs received.
  • A sample response format is proposed: “The forecast is [value].” This allows for clear communication of results back to users.

Final Testing and Adjustments

  • Initial testing shows successful retrieval of pollen forecasts based on user queries about specific regions (e.g., East Gippsland).
  • Users must complete connection requests upon first use; subsequent uses do not require re-authentication unless changes occur.

Enhancements and Future Considerations

  • There’s potential for further enhancements through advanced actions using AI Builder prompts. Feedback from viewers will guide future content creation.

Co-Pilot Configuration and Publishing

Setting Up Authentication for Co-Pilots

  • The speaker emphasizes the importance of setting "no authentication" to make the co-pilot publicly available. This setting is crucial for successful publishing.
  • Users can publish co-pilots for both internal and external use, including integration with Microsoft Teams and various customer service systems.

Publishing Options and Channels

  • Co-pilots can be published on multiple platforms such as websites, Twilio, Facebook, and mobile apps. The demo website is highlighted as a user-friendly option for beginners.
  • Changing the authentication settings allows access to more publishing options; without it, only limited channels like Teams are available.

Customization Features

  • Users can customize welcome messages and conversation starters within the co-pilot setup. This personalization enhances user engagement.
  • The tutorial mentions that users can create co-pilots based on templates provided in the system, allowing experimentation with different functionalities.

Upcoming Features and Enhancements

  • Future updates will include voice capabilities and more autonomous agent functions. Subscribers are encouraged to stay tuned for new content related to these features.
  • A paid subscription option for Microsoft 365 offers additional tools within applications like Teams, enhancing overall functionality.

Importance of Learning Co-Pilot Skills

Channel: Lisa Crosbie
Video description

Copilot Studio is the low code tool you can use to create your own Copilots. You can create agents for internal use (answering HR questions or creating IT support tickets), for your customers on external websites or other channels, or to extend Microsoft 365 Copilot and other first party Microsoft Copilots (Sales, Service, Finance, SharePoint). In this complete tutorial for beginners I take you step by step through everything you need to learn to get started and build your first Copilot agent. Timestamps: 00:00 - Copilot Studio Tutorial for Beginners 02:31 - Part 1: Create a Copilot 11:47 - Part 2: Add Knowledge Sources 25:11 - Part 3: Topics and Conversational Orchestration 34:08 - Part 4: Entities and Variables 48:37 - Part 5: Actions 1:03:32 - Part 6: Publishing and Settings 1:07:01 - Part 7: What else can you do with Copilot Studio? -------------------------------------------------- Connect with me: ☕ Buy me a coffee: https://www.buymeacoffee.com/lisacrosbie 🦉 Learn more about AI: https://aka.ms/learnwithlisa 🖇 LinkedIn: https://www.linkedin.com/in/lisa-crosbie/ 📼 TikTok: https://www.tiktok.com/@lisa.crosbie 🐦 X (Twitter): https://twitter.com/LisaCrosbie 📚Take my LinkedIn Learning Course: Microsoft Power Platform Fundamentals (PL-900) Exam: Power Apps https://www.linkedin.com/learning/microsoft-power-platform-fundamentals-pl-900-cert-prep-power-apps/