A Copilot Studio topic collects a user's account balance from a Dataverse lookup. The developer needs to route the conversation differently based on whether the balance is below $100, between $100 and $1000, or above $1000. Which approach correctly implements this multi-condition branching?
Select an answer to reveal the explanation.
Short Explanation
You need one condition node with multiple named branches, one for each balance range, plus an 'All other conditions' catch-all. That keeps the routing clean, avoids chained topic redirects, and handles all three ranges in one place.
Full Explanation
Copilot Studio condition nodes support multiple branches, each with its own Power Fx condition expression. This allows complex multi-way routing within a single topic without topic redirects.
The correct approach is to add a condition node with multiple branches: one branch for balance < 100, a second for balance >= 100 && balance <= 1000, a third for balance > 1000, and an 'All other conditions' catch-all. The developer configures three branches: (1) Topic.Balance < 100 for the low balance path, (2) Topic.Balance >= 100 && Topic.Balance <= 1000 for the mid-range path, and (3) Topic.Balance > 1000 for the high balance path. An 'All other conditions' branch acts as a catch-all for edge cases, such as a null balance. Each branch leads to its own subsequent message and action nodes.
The approach that adds a single condition node and uses OR operators to combine all three conditions in one expression is incorrect. OR operators combine conditions to produce a single true/false result; they do not create multiple branches. An OR across all three conditions would always be true for any balance and would not route to different paths.
The approach that uses three separate 'If/Else' topic redirects, each checking one balance range and redirecting to a different sub-topic, is incorrect. Using three separate topic redirects for what is logically a single branching decision creates unnecessary topic fragmentation, makes the flow harder to visualize, and adds redirect overhead to the conversation.
The approach that stores the balance in a global variable and uses three separate topics with trigger phrases that include the numeric range values is incorrect. Topics cannot be triggered by numeric values in trigger phrases. Trigger phrase NLU is for natural language matching, not numeric comparisons. This approach fundamentally misunderstands how Copilot Studio routes between topics.