Work with system topics

Completed

An agent can include multiple topics. Even when you use generative AI orchestration, these topics can be triggered.

System topics

System topics cover common scenarios that users are likely to encounter when interacting with your agent. Each system topic comes with a predefined structure that reflects its intended scenario, giving you a ready‑made foundation to build on that can be modified based on your needs.

Screenshot of the system tab showing triggers and statuses.

There are nine system topics:

  • Conversation Start
  • Conversational boosting
  • End of Conversation
  • Escalate
  • Fallback
  • Multiple Topics Matched
  • On Error
  • Reset Conversation
  • Sign In

It can be useful to understand when the system topics are triggered by an agent and what customizations could improve your agent.

Conversation Start

The Conversation Start topic is triggered as soon as the user opens the chat window or in the test pane you select the Start new test session icon.

Screenshot of the Conversation Start topic.

The Conversation Start topic:

  • Contains the first message sent by the agent (the welcome message).
  • Can be customized to disabled and change the agent’s initial behavior.
  • Can be disabled to reduce cost.

The topic uses the On Conversation Start trigger and includes a single message, which contains the welcome message sent by the Copilot Studio agent.

You can update the message and alter the agent's initial behavior by adding additional nodes. For example, you might revise the welcome text or include a question node that redirects the user to another topic based on their response.

Tip

You can turn off this topic to reduce agent costs. Because every agent message—including the one in this topic—consumes Copilot Credits, turning it off can be a cost‑efficient option. This is beneficial when the agent depends on retrieval‑augmented generation to answer user questions using knowledge only and doesn’t need to perform additional structured interactions.

End of Conversation

The End of Conversation topic isn't triggered by user phrases, it's redirected to by other topics.

The topic uses the On Redirect trigger and contains question node that asks Did that answer your question? with Yes/No options.

Screenshot of the End of Conversation topic.

If the user selects Yes, the user is asked for their feedback with a customer satisfaction question and followed by the End conversation node.

Note

The End conversation node helps ensure that the chat session is terminated and no background topics remain active waiting for user input.

If the user selects No, the conversation is redirected to the Escalate system topic.

You should consider modifying the topic's conversation path to improve user engagement and analytics. You could add nodes before ending the conversation to personalize the final message, capture feedback, log conversation context, or store variables e.g., customer satisfaction score.

Note

If the Escalate topic isn't configured the user will see an error message to that effect.

Multiple Topics Matched

The Multiple Topics Matched topic is triggered when topics have overlapping or very similar trigger phrases and the natural language understanding model may struggle to determine the correct topic.

Note

If you're using generative AI orchestration, the agent will likely choose one of the topics automatically and this topic won't be triggered.

This topic contains a question node that asks To clarify, did you mean: and displays a list of possible matching topics for the user to choose from. If the user selects a topic the conversation will continue using that topic. If the user doesn't select a topic, the Fallback topic is triggered.

Screenshot of the Multiple Topics Matched topic.

Tip

You can reduce the likelihood of this topic being triggered by using entities instead of creating multiple similar topics. For example, rather than maintaining separate topics like Add Voicemail, Change Voicemail, and Delete Voicemail, consolidate them into a single Voicemail topic and use an entity to capture the intended action—Add, Change, or Delete.

On Error

The On Error topic is triggered when a failure occurs during the execution of a topic—typically due to connector, tool, flow, or system‑level errors.

The On Error topic is invoked automatically when:

  • A connector action fails due to timeouts, authentication issues, or unexpected data.
  • A tool or Copilot Studio workflow returns an error.
  • A topic explicitly uses the Raise an Error option within a connector action.
  • A critical failure prevents the current topic from continuing.

This redirection happens immediately, and the original topic stops executing.

Screenshot of the On Error topic.

By default, the On Error topic:

  • Captures technical details about the failure, including the timestamp and the system error message.
  • Detects whether the agent is in test mode (e.g., being tested inside Copilot Studio).
  • Sends a default error message to the user, including the error details.

This ensures the user receives a meaningful response rather than having the agent silently fail or freeze.

You should consider:

  • Changing the default error message; the message displays the System.Error.Message, System.Error.Code, and Conversation.Id variables, which are useful but not user‑friendly.
  • Replace technical jargon with plain language.
  • Offer help or next steps.
  • Adding nodes that either allow the user to restart the conversation, or redirect the user to the Fallback topic, or provide a link or route to support.
  • Adding logging or telemetry nodes.

Reset Conversation

The Reset Conversation topic isn't triggered by user phrases, it's redirected to by other topics.

This topic is designed to reset the chat session. It clears conversation memory, resets variables, and forces the agent to reload its latest published configuration.

Screenshot of the Reset Conversation topic.

It functions like starting a new chat session—similar to opening a fresh conversation in Copilot Studio’s test window.

You may consider changing the message What can I help you with? that is issued to the user and provide the user with confirmation that their conversation has been reset.

Note

As Reset Conversation pushes the agent into a clean state, the next message may trigger the Conversation Start topic.

Sign In

The Sign In topic isn't triggered by user phrases, but by authentication requirements. The topic is triggered when:

  • The agent requires user authentication, for example, accessing Dataverse data, checking personalized account details, viewing tickets, etc.
  • A connected action or tool requires a signed‑in identity. If a cloud flow, API call, or connector requires authentication and the user isn't signed in, the system automatically triggers the topic.
  • A custom topic explicitly redirects to the topic.

Authentication allows users to sign in, giving your agent access to a restricted resource or information. Users can sign in with Microsoft Entra ID, or with any OAuth2 identity provider such as Google or Facebook. It ensures secure access to protected actions, tools, or data, maintaining tenant‑level security.

Copilot Studio supports several authentication options under the Settings -> Security for your agent:

Select Authentication.

  • No authentication

  • Authenticate with Microsoft

  • Authenticate manually

    Screenshot of the Agent Authentication options.

For more on authentication see Configure user authentication in Copilot Studio

Note

You can configure single sign-on (SSO) so your users don't need to sign in manually or use any identity provider that complies with the OAuth2 standard.

The Sign In topic contains a message node and an authentication node. The topic:

  • Prompts the user to authenticate using the configured sign‑in method.

  • Collects the authentication token and stores it in a system variable.

  • Allows the conversation to continue once authentication succeeds.

    Screenshot of the Sign In topic.

The Sign in topic authenticates the user at the beginning of the conversation. To allow the user to sign in later, you can add an Authenticate node to a topic.

Screenshot of the Authentication node.

You should consider:

  • Tailoring the message to explain why sign-in is required e.g., I need to verify your identity to retrieve your data and to reassure the user about privacy and security.
  • Add a message node to add post‑sign‑in guidance such as confirming that authentication was successful or to offer followup options e.g., Would you like to continue with checking your account?
  • Creating paths for both a successful sign-in and failure to sign in. A sign-in might fail for many reasons, including errors with the identity provider's sign-in experience.

Escalate

The Escalate topic is invoked when:

  • A user enters hand-off phrases such as Talk to a human or Callback.

  • A node is configured to escalate due to invalid or missing input.

  • A topic redirects to it such as the End of Conversation and Fallback topics.

    Screenshot of the Escalate topic.

This topic is designed to initiate the hand-off of the conversation to a human representative. This requires a Customer engagement hub to be configured. Engagement hubs can be found under Channels.

Screenshot of Engagement hubs under Channels.

Note

Dynamics 365 Contact Center is a supported engagement hub.

Once an engagement hub is configured, you should add the Transfer conversation to the topic to initiate the transfer to the engagement hub.

Screenshot of the Transfer conversation node.

By default, all variables are transferred to the engagement hub.

For more on escalation see Hand off to a live agent

You should consider:

  • Tailoring the escalation message, for example, to explain why escalation is happening and setting expectations, e.g, waiting time.
  • Adding nodes to provide self-help options.
  • Adding message modes and question nodes when there's no escalation capability or the escalation path isn't available due to closure or working hours.
  • Adding logging or telemetry nodes.

Conversational boosting

The Conversational boosting topic is invoked when the agent can't find a matching topic. The Conversational boosting topic uses the On Unknown Intent trigger and contains a Generative answers node, which allows you to provide a response to the user by utilizing knowledge sources when there's no other topic that matches to the user's query.

Screenshot of the Conversational boosting topic.

The topic acts as a fallback for unhandled questions and prevents the agent from responding with Sorry, I don’t understand and instead, it provides an AI‑generated response using available knowledge.

Note

By default, all knowledge sources that are added at the agent level are added to the Generative answers node in the Conversational boosting topic.

You can edit the options for the Generative answers node:

  • Add knowledge - Allows you to upload documents and add other knowledge sources that will be used to provide real-time responses to users.
  • Search only selected sources - Allows you to specify which of the knowledge sources added to the agent will be used to provide responses to users.
  • Web search - Searches all public websites to provide responses to users.
  • Allow the AI to use its own general knowledge - Searches specified internal and external websites to provide responses to users.
  • Content moderation level - Allows you to determine how relevant you want the answers that are generated to be.
  • Save LLM response - Choose the Complete response to save the answer, the citations, and the source metadata. Choose Text only to save only the answer and citation.

Screenshot of the Generative answers node.

You should consider configuring the Generative answers node:

  • Restricting the knowledge sources selected.
  • Turning off Web search.
  • Setting the Content moderation level to High so that only relevant answers are generated.
  • Using the Complete response to send to the user.

Fallback

The Fallback topic is invoked when the agent can't find a matching topic. The Fallback topic uses the On Unknown Intent trigger and informs users their query couldn't be matched to a topic and asks them to try again.

Important

Both the Conversational boosting and Fallback topics use the On Unknown Intent trigger. The Conversational boosting topic is triggered first, and if it doesn't provide a response, the Fallback topic is then invoked.

This topic contains a message node that says I'm sorry, I'm not sure how to help with that. Can you try rephrasing?

Screenshot of the Fallback topic.

By default, the Fallback topic asks the user two times before redirecting to the Escalate topic.

If your agent doesn't have an engagement hub configured and can't escalate to a human representative, you could replace the redirection node with a Generative answers node. You can configure which knowledge sources to use, and whether web search is used, in this node.

Screenshot of adding the Generative answers node to the Fallback topic.

You could also add question nodes to try to better pinpoint what the user is looking for by asking them questions, providing category options, or other types of interactions with the user, and then route the user to a topic. For example, you present the user with a question such as What are you looking for assistance with? The user could be presented with a list of options such as Sales, Service, or General. Based on what the user selects they could be redirected to a topic that related to that selection

Tip

The initial unrecognized text entered by the user is stored in a variable called UnrecognizedTriggerPhrase variable.

You should consider:

  • Tailoring the I'm sorry message to provide guidance to the user to improve the user experience and reduce frustration.
  • Changing the number of times the I'm sorry message is displayed and using different messages each time rather than repeating the same phrase.
  • Removing the redirection to the Escalate topic.
  • Adding question nodes to guide the user.
  • Adding nodes to provide a structured troubleshooting conversation.
  • Adding a Generative answers node to use AI to respond to the user.
  • Adding logging or telemetry nodes.

To learn more about the Fallback topic, see: Configure the system fallback topic.

Reset a system topic

If you have changed a system topic and then find that it doesn't behave as you want, you can Reset to default.

  1. Edit the topic.

  2. Select More (…) on the menu bar.

  3. Select Reset to default.

    Screenshot of resetting a topic back to default.

Predefined topics

There are four predefined custom topics in a Copilot Studio agent:

  • Greeting
  • Goodbye
  • Start Over
  • Thank you

These are custom topics that you can edit to meet your requirements.

Tip

You can turn off the predefined topics if your agent doesn't require them.

Greeting

The Greeting topic is triggered when a user enters welcoming phrases such as Hi or Hello. This topic has a single message node followed by the End all topics node.

Screenshot of the Greeting topic.

You can edit the message and add further nodes to improve user engagement.

Note

The Greeting topic isn't to be confused with the Conversation Start topic. The Greeting topic exists to respond politely to greeting intents during the conversation—not to start the conversation automatically.

Goodbye

The Goodbye topic is triggered when the user enters farewell phrases like Bye or Goodbye. It includes a question node that asks, Do you want to end our conversation? with Yes/No options. If the user selects Yes, the conversation is redirected to the End of Conversation system topic.

Screenshot of the Goodbye topic.

You can edit the question and add further nodes to improve user engagement.

Start Over

The Start Over topic is triggered when a user enters restart phrases such as Begin again or Start over. This topic has a question node, which asks Are you sure you want to restart the conversation? requiring a Yes or No answer. If the user answers Yes, then the conversation is redirected to the Reset Conversation system topic.

Screenshot of the Start Over topic.

You can edit the question and add further nodes to improve user engagement.

Thank you

The Thank you topic is triggered when a user enters thanking phrases such as Thanks. This topic simply contains a single message node.

Screenshot of the Thank you topic.

You can edit the message and add further nodes to improve user engagement.

Next, we'll look at the topics in a Copilot Studio voice-enabled agent.