Conversation Agent Data Management

In the July 2026 Conversational Agent designer, only Input arguments are available. Variables are disabled and there is no Outputs section. How are structured values expected to be returned from a Conversation Agent to a Maestro Service Task? Is this currently supported, and if so, what is the recommended pattern?

  • Use JSON serialization to represent structured data (objects, arrays, key-value pairs). JSON is lightweight and easy to parse downstream.

  • Inside your Conversational Agent logic, build the structured result (e.g., a dictionary or object) and serialize it to JSON using a standard serializer.

  • Send the serialized JSON as part of the Input argument (e.g, agentResponse) to the Maestro Service Task.

  • In the Maestro Service Task, define an Input argument to capture the JSON payload from the agent.

  • Use UiPath’s Deserialize JSON activity to convert the JSON string back into structured data (e.g., JObject or Dictionary).

  • Access individual fields using expressions like data("result") or data("status") and use them in subsequent workflow logic.
    If multiple structured outputs are needed, either:

  • Include them all in one JSON object, or

  • Pass multiple Input arguments with separate JSON strings.
    Current supported pattern until UiPath introduces native output handling for Conversational Agents.

I didn’t quite understand that. Currently, the Conversational Agent only supports creating input arguments. Variable creation isn’t working, and there is no option to create output arguments. In that case, how can I serialize the data to JSON and pass it to the Maestro Service Task?

Is it returns structured data by adding it in prompt only?

Hi @ashikvincentv

you are right that the designer today doesnt give you a place to build and serialize a variable internally, since Variables are disabled and thers no Outputs section, so the pattern Manikandan described only works if you do the serialization through the prompt itself, not through actual workflow logic inside the agent

so to answer your question directly, yes, its through the prompt. In the agent’s system prompt you instruct it to always respond with a JSON object in an exact schema, something like tell it explicitly “always end your response with a JSON block containing result and status fields, nothing else after it”. The agent’s final message in the conversation IS what gets passed as the Input argument value to the Maestro Service Task, so if you constrain the agent to always answer in that JSON shape, that string is what arrives on the other side

then on the Maestro Service Task you use Deserialize JSON on that Input argument like Manikandan said, that part is correct, just the “how do i build the JSON” part is prompt engineering, not a designer feature

one thing that helps reliability, add a few examples of the exact JSON format directly in the prompt (few shot), models drift on format over long conversations otherwise. And if your data has multiple different structured outputs depending on the flow, still keep it one JSON object with all possible fields, easier to parse consistently downstream than variable shapes

hope this makes it clearer, this whole area is still pretty raw since Outputs arent native yet