> 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/tableinput.md).

# Table Input

> Lets viewers of the published app enter or paste data rows the flow runs on.

Lets a viewer type or paste a batch of rows into the flow.

`schemaEntries` defines the columns — authored by hand, or taken from a twin when `schemaSource` is `twin`. `defaultRows` are what the flow runs on when a viewer sends nothing, so the application is never broken before its first use. `maxRows` caps a paste — 500 by default, 5000 at the most.

## At a glance

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

## Parameters

### `schemaEntries`

`SchemaEntryModel[]` · required · defaults to `[]`

The columns a viewer fills in.

### `schemaSource`

`"twin" | "manual"` · required · defaults to `"manual"`

Whether the columns were authored by hand or taken from a twin.

### `maxRows`

`number` · required · defaults to `500`

The most rows a viewer may enter or paste; 5000 is the ceiling the schema allows.

### `defaultRows`

`Record<string, unknown>[]` · required · defaults to `[]`

Author-provided sample rows — the baseline batch when a viewer sends nothing.

### `digitalTwinId`

`string | null` · optional

The twin the columns came from, when `schemaSource` is `twin`.

## 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                                                          |
| ------ | ----------- | --------------------- | -------------------------------------------------------------------- |
| `rows` | `dataframe` | `dataframe`, `signal` | What the viewer entered, or `defaultRows` when they entered nothing. |

***

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