Manage topic inputs and outputs

Topics can have input and output parameters. When a topic redirects to another topic, you can use these parameters to pass information between topics.

If your agent uses generative orchestration, it can automatically fill inputs before running a topic by using conversation context or generate questions to ask the user for the values. This behavior is similar to how generative slot filling works for tools.

Agents that use generative orchestration can generate a contextual response as a topic output. In such cases, you don't need to configure a verbatim message from within the topic itself.

Topic inputs and outputs can share values with other topics and tools in the same generated plan.

Add inputs and outputs

To add inputs or outputs for a topic, select Details on the toolbar at the top of the authoring canvas. Alternatively, select Details from the context menu for a topic on the Topics list page.

In the Topic details panel, you can select the Inputs or Outputs tab, and then select Create a new variable to create new input or output variables.

For every input and output parameter, you must enter a name, select a data type, and enter a description for the corresponding variable.

If your agent uses generative AI to decide how to respond to users, more properties are available for input variables. Specifically, How will the agent fill this input? determines how the agent fills this variable with a value before running the topic. By default, each input is set to Dynamically fill with the best option. The agent tries to get the value from available context, such as the user's message or previous conversation. If no appropriate value is found, the agent generates a question to ask the user for a value. You can choose to override an input with a value instead of asking the user. To override an input parameter, select Set as a value, under How will the agent fill this input?, and enter the desired value. This value can be a literal value, an existing variable, or a Power Fx formula.

To ensure your agent captures the correct type of value for the input, you must also specify an entity type under Identify as.

Screenshot of the Details pane with a new input variable being added

Additional settings can be configured for inputs to control the agent's behavior when asking for a value or validating an answer from the user.

One of these settings, Should prompt user, is only available for topic inputs. It determines if the agent should try to fill the variable with a value before executing the topic. This property is selected by default.