A developer has built a 'Get Product Price' topic that accepts a product ID as input, looks up the price in Dataverse, and needs to return the price to the calling topic. How are topic input and output variables configured in Copilot Studio?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Topic variables have a 'receive from calling topics' input flag and a 'return to calling topics' output flag — the redirect node in the caller maps the actual values to these slots like function parameters and return values. Answer: B.
Full explanation below image
Full Explanation
Copilot Studio supports explicit input and output variable passing between topics through variable configuration in the topic designer.
Option B is correct. In the 'Get Product Price' topic, the developer marks Topic.ProductID as 'Receive values from calling topics' (making it an input parameter) and marks Topic.Price as 'Return values to calling topics' (making it an output). In the calling topic's 'Redirect to topic' node, an input mapping connects the caller's product ID variable to the callee's ProductID input, and an output mapping connects the returned Price to a variable in the calling topic. This is the correct, supported mechanism for topic parameter passing.
Option A is incorrect. Using global variables for topic-to-topic parameter passing works but creates shared state that is harder to reason about and test. The explicit input/output variable mechanism is the recommended pattern because it makes dependencies explicit and the calling relationship clear.
Option C is incorrect. Copilot Studio absolutely supports variable passing between topics through the input/output mechanism described in option B. Using Dataverse as an intermediary for what is a runtime parameter exchange is unnecessarily complex.
Option D is incorrect. Topics in Copilot Studio do not have cross-scope variable access via Power Fx. Variable scopes are strictly enforced: topic variables are local to their topic, and explicit input/output declarations are required for sharing values across topics.