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 and Infographic
A single condition node with multiple named branches is exactly what Copilot Studio is built for — cleaner than chained topic redirects, and all three ranges plus a catch-all fit in one node. Answer: B.
Full explanation below image
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.
Option B is correct. The developer adds a Condition node and 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 (null balance, etc.). Each branch leads to its own subsequent message and action nodes.
Option A is incorrect. OR operators combine conditions to produce a single true/false result — they don't create multiple branches. An OR across all three conditions would always be true for any balance and wouldn't route to different paths.
Option C 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.
Option D 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.