Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Task 08: Use the Go to another topic node

Introduction

Complex customer scenarios at Contoso often require conversations to transition seamlessly between multiple related topics.

Description

You’ll implement and test the Go to another topic node, enabling smooth transitions between separate but related conversational topics within your agent.

Success criteria

  • You’ve successfully configured the Go to another topic node.
  • You’ve validated smooth and correct transitions between topics.

Key tasks

In this task, you’ll learn how to use the Go to another topic node.

01: Create a new topic for order cancellations

Expand this section to view the solution
  1. Select Topics on the top bar.

    ywtwri24.jpg

  2. Select Add a topic in the upper-left part of the window, then select From blank.

    942c4tda.jpg

  3. Select Untitled in the upper-left part of the window, then change the topic name to Order Cancellation.

    qbgtmkdw.jpg

  4. Within the Trigger node, hover over the Phrases section, then select the Change trigger button that appears in the upper-right part of the node.

    nwbh3fo3.jpg

  5. Select It’s redirected to from the flyout menu.

    3g2re8h0.jpg

    This topic doesn’t need trigger phrases.

  6. Under the Trigger node, select the + button, then select Send a message.

  7. Add a message that acknowledges the cancellation.

     Your order has been canceled, thank you.
    

    yfrzvnpz.jpg

  8. Select Save in the upper-right part of the canvas to save the topic.

02: Configure a node to go to another topic

Expand this section to view the solution
  1. Select Topics on the top bar.

    ywtwri24.jpg

  2. Select the Check Order Status topic.

  3. Within the Condition branch for Cancel, below the Message node, select the + button, select Topic management, then select Go to another topic.

    iuzgi0zi.jpg

  4. Select the Order Cancellation topic from the list.

    22grus8x.jpg

    sgx8ivm4.jpg

  5. Select Save in the upper-right part of the canvas to save the topic.

  6. Select the refresh icon in the upper-right corner of the Test your agent pane to start a new conversation.

  7. Test it out by entering the following prompt:

     I'd like to cancel my order.
    

    jtwla3rv.jpg

Congratulations, you’re now familiar with the available actions under the Topic management menu. It would be useful for you to review the other options under Topic management before you continue; however, it’s not essential for moving on to the next task.

03: Question node behavior

Expand this section to view the solution

Previously, this lab covered the basics of the Question node and built on this concept by using entities and slot filling. In addition to storing a user’s response, the Question node has more behavior options that you can set up.

One option is the ability to skip asking a question if the variable that it’s linked to already contains a value. You observed this process in action in a previous task where the question was skipped when the agent was asked to check an order. The question was skipped because, by using entities and slot filling, you allowed Microsoft Copilot Studio to retrieve data from the sentence that the user asked and then store the data within the variable. After the Question node was reached by Microsoft Copilot Studio, it already contained data, so the question didn’t need to be asked again. This approach is more efficient because, when the user or customer is talking to an agent, they won’t need to answer the same question multiple times.

  1. Within the Check Order Status topic, select the Question node. Then, select the ellipsis within the upper-right corner of the Question node to extend the menu, as shown in the following screenshot, and then choose Properties from the menu.

    msax6zln.jpg

  2. Select Question behavior from the Question properties panel that appears.

    uhqe70w4.jpg

    The Question node has several configurable options so that you’re able to better identify what the user’s response is to the question that you’re asking. This component is important when you’re developing conversational applications, because regardless of the type of AI that’s behind the scenes managing the natural language responses, a user might provide unexpected or unidentifiable answers. The ability to handle the agent’s behavior in those circumstances helps you provide an improved customer experience. This scenario also happens in real life when you ask a question to another person and they don’t understand the question. For the best experience and conversation, it’s important to rephrase or act differently than to repeat the same question that wasn’t originally understood.

    The following question behavior controls are available for you to choose from in the Question behavior property window:

    • Skip behavior/Skip question- An agent author can skip the question if the variable already has a value. The variable in the question could have a value that was set somewhere else in the topic, in another topic, or through slot filling and by using entities. This behavior allows the agent author to skip the question, or if the variable has a value, to ask the question anyway. Other available options include using Power Fx to create a condition, and if that condition is true, to skip the question.
- Reprompt/How many reprompts - You can set up the behavior to repeat the question a specific number of times, and you can select from the dropdown menu to not repeat, repeat once, or repeat up to two times. Like the skip question option, you can also use Power Fx to set the condition for this behavior to occur. You can modify the Retry prompt option, which only occurs if you have retries selected to repeat the question. By selecting the Retry prompt option, you can add a different message to reword the question, and you can add message validations to make the question sound more natural and be more helpful to the customer or user. - Additional entity validation/Condition - This behavior is important if you have specific conditions to use to validate if an entity can be slot filled and if there is a dependence on the entity type. You can also use the same prompt behavior to change the prompt, if the conditions aren’t met, to encourage the user to provide a different input. - No valid entity found/Action if no entity found - If no entity is found, rather than skip the question, you can specify the behavior, such as leave the variable empty, set the variable to something specific or dynamic (by using Power Fx), or call the escalate system topic. - Interruptions - You can indicate whether a customer should be able to switch to a different topic from the current topic that the Question node is in. This option is useful if a customer is likely to answer a question with another question and you want to continue the conversation without needing to handle all exceptions within a single Question node.

b5tzfnwc.jpg

Now that you’re aware of the core functionality of the Question node and associated behavior, you can explore the rich text responses in the Message and Question nodes.