Welcome back to our ongoing Copilot Studio series, where we explore the tools and techniques that can help you create more intelligent and efficient conversational AI systems. In this post, we’ll dive into two essential topics: authoring copilots and the powerful use of entities and slot filling.
Key Concepts of Authoring Copilots
1. How Copilot Conversations Work
Creating conversational flows in Copilot Studio is all about linking user intent to well-structured topics. Each topic in a copilot conversation forms part of a conversation flow, which includes connected nodes that guide the interaction. This means you define not just what the copilot says, but how the conversation branches out based on user inputs.
Let’s say you create a topic like Store Hours. When a customer asks a question like “When do you open?” or “What are your hours?”, Copilot Studio’s Natural Language Understanding (NLU) will detect the intent behind the question and respond with the relevant Store Hours information. You can build similar topics for FAQs or support, streamlining your customer interactions and reducing manual overhead.
What makes Copilot Studio powerful is its ability to integrate AI-driven responses for unexpected questions. You don’t need to predict every single query a user might have—Copilot Studio’s AI can generate responses on-the-fly, pulling from public knowledge or external data sources like Bing-indexed websites.
2. Linking Topics and Nodes
In complex scenarios, conversation flows use if/else logic to manage various paths a conversation can take. For example, if a user asks for store hours but also specifies a location, the copilot can branch into providing location-specific details. By linking topics together, you can ensure your copilot follows a logical path to answer questions, while also handling additional layers of complexity with ease.
Using Entities and Slot Filling in Copilot Conversations
Entities and slot filling are crucial for building intelligent, context-aware conversations that help your copilots make sense of user inputs.
1. Understanding Entities
Entities are units of information that represent specific types of real-world data, such as phone numbers, dates, or customer names. By using entities, your copilot can better understand the input it receives and tailor responses accordingly.
For example, Copilot Studio comes with a set of prebuilt entities that allow it to recognize common types of information. Suppose a customer says, “I need something that costs less than $50.” The Money entity would detect the price, and your copilot can process this information to recommend items within that price range.
You can also create custom entities for more specific use cases. For example, in an outdoor retail store copilot, you might create a custom entity for outdoor gear, listing items like tents, hiking boots, and backpacks. This allows your copilot to process customer queries more accurately based on your specific product categories.
2. Slot Filling: Saving and Using Entities in Conversations
Slot filling is the mechanism that allows copilots to save information (entities) extracted from user input for later use. For instance, when a user says, “I’m looking for a tent under $100,” the copilot recognizes both the product category (tent) and the price limit ($100). It stores these values in variables and uses them to tailor the response.
The copilot can also engage in proactive slot filling, meaning it can extract multiple pieces of information from a single sentence. For example, a user could say, “I need a hiking backpack under $150,” and the copilot would process both the product type and the price limit simultaneously.
Slot filling makes the conversation smoother by automatically gathering relevant details without prompting the user with unnecessary questions.
3. Advanced Features of Slot Filling
Copilot Studio also allows for proactive slot filling, which dynamically captures multiple entities at once. Imagine a user says, “I want to buy hiking boots under $200.” The copilot can automatically extract hiking boots and $200 from the user’s input, without needing to ask follow-up questions. This improves conversation efficiency and enhances the user experience.
You can also manage complex slot filling scenarios where the copilot asks multiple questions to gather more information. For example, it could ask for duration (using a duration entity) or timeframes (using a date entity), making the conversation more interactive and context-driven.
Make Your Copilot Smarter with Entities
By using entities and slot filling, you enable your copilot to interpret user input more intelligently, respond faster, and create more personalized interactions. Whether you’re developing customer support bots or automating internal processes, these features give your copilots the ability to handle complex conversations with minimal manual setup.
