> For the complete documentation index, see [llms.txt](https://docs.rootcause.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rootcause.ai/more-details/applications/application-modules/configinput.md).

# Config Input

> Provide a config JSON bag with defaults for downstream modules.

Collects a small form of values from a viewer and emits them as run parameters.

This is where `{{params.*}}` comes from: `fields` are rendered as the config widget and what comes out of `config` wires into the `params` port of the four modules that have one — DataOperations, Filter, Compute and ConnectorRead. `defaults` fill in anything the viewer leaves alone.

## At a glance

|                          |                        |
| ------------------------ | ---------------------- |
| Module type              | `ConfigInput`          |
| Category                 | Inputs                 |
| Default tier             | `reactive`             |
| Runs on                  | `reactive`, `durable`  |
| Starts a flow            | no                     |
| Holds a body             | no                     |
| Keeps state between runs | no                     |
| Available in             | every application type |

## Parameters

### `fields`

`object[]` · required · defaults to `[]`

The form fields a viewer fills in. Each has an `id`, which becomes its key in the emitted config, a `type` deciding how it is rendered, and the options that type needs.

### `defaults`

`Record<string, unknown>` · required · defaults to `{}`

Values for the fields a viewer leaves alone.

### `timeColumn`

`string | null` · optional

The field naming a time column, for the views that need one.

## Inputs

| Port | Kind    | Required | Description                                                                                                                           |
| ---- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `on` | `event` | no       | Implicit on every module that does not itself start a flow: wire an event here to make this module the start of what that event runs. |

## Outputs

| Port     | Kind   | Connects to                | Description                                             |
| -------- | ------ | -------------------------- | ------------------------------------------------------- |
| `config` | `json` | `json`, `scalar`, `signal` | The field values, as one JSON object keyed by field id. |

***

[← All application modules](/more-details/applications/application-modules.md)
