> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runchat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Parameters

> Spread JSON object output from Agent and Code nodes into individual parameters automatically. One call returns multiple typed fields you can wire downstream.

Runchat supports automatically generating output parameters from object keys to easily define parametric relationships between nodes.

## How spread output works

When you turn on **Spread Output** on an Agent or Code node, Runchat reads the node's output array, finds object items, and creates one output parameter for each key it finds. Each parameter gets the matching value from the object.

## Agent node

This is the most common use: get a single LLM call to return several distinct fields, and wire each field into a different downstream node.

In the Agent node's settings bar, change the output format from the default to **custom** and define the schema you want the model to return. Then toggle **Spread Output** in the settings panel. The next time the node runs, every key in the structured output becomes its own output parameter.

For example, an Agent set up to return:

```json theme={null}
{
  "title": "Pavilion",
  "material": "concrete",
  "area": 240
}
```

...will show three output parameters: `title`, `material` and `area`. You can pipe each one into a separate node without parsing the object yourself.

## Code node

The Code node has Spread Output too. Open the settings panel and toggle it on. The next time the node runs, Runchat creates output parameters for each key in the object items returned from your code. This is useful when a Code node fetches structured data from an API or builds a result object from multiple inputs.

## Publishing dynamic parameters

Output parameters generated by Spread Output start unpublished, the same as a regular parameter. You can publish them individually by clicking the publish button on each parameter, or turn on **Publish All** in the node settings to auto-publish every generated parameter at once. Publish All is useful when you want every key exposed to downstream nodes or app users without managing each one.

## Next steps

* [Connecting Nodes](/concepts/editor/connecting-nodes#publishing-a-parameter): how publishing works for any parameter
* [Data Types](/concepts/data/data-types#objects): object structure and casting
* [Code node](/node-reference/nodes/code): the full Code node reference
* [Agent node](/node-reference/nodes/agent): the full Agent node reference
