Copilot Studio Topics: Design a Reliable Conversation
Topics are the conversation paths you build in Copilot Studio. Understanding how triggers, variables, branching, and fallback work together lets you design an assistant that handles real user input reliably.
Updated 5 min read
In Copilot Studio, a topic is the building block of a conversation. It defines what question or request the assistant handles, how it gathers information, what it does with that information, and what it says next. Every reliable assistant is a set of well-designed topics, each with a clear scope and a tested fallback for inputs that miss the mark.
The design choices inside a topic are worth recording, especially when the conversation involves a business process or a compliance requirement. Tools like fenbs keep those approved decisions in one place so the next person who updates the topic starts from the agreed version, not from guesswork.
What triggers a topic
Each topic has trigger phrases: the words or questions a user types that cause the assistant to start that topic. Good trigger phrases reflect how real users ask the question, not how the builder expects them to. Write five to ten phrases that cover the same intent with different words, and test each of them before publishing.
Copilot Studio also supports triggering topics from events, such as when a user starts a new conversation or when an activity arrives from an external system. For most first assistants, phrase triggers are the right starting point. Entity-based and event-based triggers add power and complexity at the same time.
Gathering input with question nodes
A question node asks the user for information and stores the response in a variable. Copilot Studio supports several entity types for responses: text, numbers, dates, multiple-choice options, and custom entities built from a list or a regular expression. Using the right entity type validates the input before passing it to an action.
Keep question nodes focused on one piece of information at a time. An assistant that asks three questions in a single message often gets an answer to only one of them. Use multiple question nodes and let the conversation flow naturally.
Storing information in variables
Variables hold the values gathered during a conversation and pass them to actions or message nodes. Copilot Studio has topic variables, which reset when the topic ends, and global variables, which persist across topics within the same session. Use topic variables for step-specific data and global variables only for information that multiple topics genuinely need.
Name variables descriptively. A variable called vendorName is easier to maintain than one called var1. When a flow action receives a variable, the name is what appears in the flow's input mapping, so a clear name saves confusion when the flow is updated months later.
Branching with condition nodes
A condition node checks a variable value and routes the conversation to a different path depending on the result. Use conditions to handle different user answers, to separate the happy path from the exception path, and to enforce business rules such as approval thresholds.
Keep branching logic as shallow as possible. A topic with four levels of nested conditions is hard to test and hard to maintain. If you find the branching getting deep, consider whether some of the paths should be separate topics that the current topic redirects to.
Record the process decisions behind each topic in fenbs
When a topic reflects a business rule, such as which amount triggers a review or which response applies to which user type, record that decision in fenbs with the reasoning and the name of the person who approved it. When the rule changes, you update the topic and the decision together, and every connected assistant reads the current version.
Create a free accountFree for one person · No credit card · Works with Claude, ChatGPT, Cursor and more
Handling inputs that miss all triggers
The fallback topic handles any message that does not match a trigger in the assistant. A well-designed fallback is informative: it tells the user what the assistant can help with, offers a way to reach a person, and does not pretend to understand something it did not. A fallback that just says "I didn't understand that" without an alternative path is a dead end.
Review the inputs that route to your fallback after the first week of real use. Patterns in those inputs usually point to a missing trigger phrase, a topic that needs to be added, or a common user question that the assistant was not designed to answer.
Testing topics before publishing
Use the test chat in Copilot Studio to verify that each trigger phrase routes to the right topic and that each condition branch follows the intended path. Then ask someone who was not involved in the build to try the assistant with their own words. First-time users will type things the builder did not anticipate, and those inputs are the most valuable tests.
Log every question that produced an unexpected result. Some will reveal missing trigger phrases. Others will reveal that the question node's entity type rejected a valid input. A third category reveals questions that genuinely need a new topic.
How to do this with fenbs
Use fenbs to track the decisions behind your conversation design and the improvements that testing reveals.
- Create a free account and add a project for the assistant you are building.
- Add a task for each topic you plan to design. Include the intent, the trigger phrases to test, and the business process it supports.
- Record the branching rules and thresholds as Decisions in fenbs so they can be found and updated independently of the Copilot Studio canvas.
- After user testing, add a task for each unexpected fallback input that reveals a gap. Prioritize by how often each pattern appeared.
- Save progress before handing the assistant to a new maintainer: what each topic does, what decisions drove its design, and what still needs testing.
fenbs does not connect to Copilot Studio's conversation analytics. Use the built-in analytics dashboard to see topic resolution rates and fallback rates. fenbs keeps the decisions and the improvement backlog in one record.