Topics in Copilot Studio
Topics are the core building blocks of an agent. Topics can be seen as the agent competencies: they define how a conversation dialog plays out. Topics are discrete conversation paths that, when used together, allow for users to have a conversation that feels natural and flows appropriately.
To author topics, makers can:
Create new topics from scratch.
Create and edit topics with Copilot: Copilot lets you create and iterate on topics by describing what you want and having AI build it for you.
Important
Avoid using periods (.
) in your topic names. It isn't possible to export a solution that contains an agent with periods in the name of any of its topics.
Topic content
A topic can optionally have trigger phrases associated to it, and contains conversation nodes:
- Trigger phrases are phrases, keywords, and questions that a user is likely to use, related to the topic. When a user says something to the agent that is close to the configured trigger phrases, the matching topic gets triggered.
- Conversation nodes can be seen as action steps and define what the topic should do once it's triggered (for example, ask questions, send a message, trigger a cloud flow, set variable values, or use conditions for branching logic).
Default topics
Any new agent comes with a set of predefined topics that make it readily operational with core capabilities.
Custom topics
The default custom topics offer fundamental conversational abilities, such as Greetings, Goodbye, Thank you, and Start Over, while the lesson topics serve as example topics for topic authors.
Important
- Copilot authors can choose to disable or delete custom topics.
- Any new topic is created as a custom topic.
System topics
Many system topics are also natively available and help manage specific conversation events.
Important
System topics can be disabled (with caution, as they can impact the agent's behavior) but cannot be deleted.
System topic | Description |
---|---|
Conversation Start | Depending on the agent client, this topic gets proactively started to initiate the conversation with the user. The agent can greet users with messages, even before the users start entering any input. |
End of Conversation | This topic is meant to be positioned at the end of the conversation with an agent, so that the user can confirm if their query has been addressed or not, and fill out a satisfaction survey. This topic is important to measure an agent's performance and act on it. When this topic is reached, the session outcome is assumed to be resolved, unless the end-user explicitly doesn't confirm resolution. |
Escalate | The Escalate topic is used to hand off the conversation to an external system, typically to a live agent (when configured – for example to Dynamics 365 Omnichannel for Customer Service). When this topic is reached, the session outcome is escalated. |
Fallback | This topic is triggered when the agent can't understand the user query and the query can’t be associated with confidence with any existing topic. It's useful to have a strategy to catch these exceptions and handle them in a graceful way (with more data sources or through an escalation path). |
Multiple Topics Matched (also known as "did you mean") | This topic is triggered when multiple topics might address the user input and the agent doesn't have sufficient confidence to trigger one over the others. When this type of topic is triggered, the user is presented with a list of potential matching topics and can choose the most appropriate one. |
On Error | The On Error topic informs the user that an error has occurred. The message includes an error code, the conversation ID, and the error timestamp, which can be used later for debugging. You can customize this topic to change the way it presents errors to users and what should happen when an error occurs. |
Reset conversation | This topic resets the conversation by clearing all variable values and forcing the agent to use the latest published content. It only triggers when redirected to, which is the default behavior with the Start Over topic. |
Sign in | This topic prompts end users to sign in when user authentication is enabled. It triggers at the beginning of the conversation when users are required to sign in, or when the conversation reaches a node that uses authentication variables. |