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

# Connector Write

> Write the incoming rows to a table or object path through a bound connector.

Writes a frame outward through a bound connector, into a table the customer owns.

`mode` is the write: append rows, replace the table, or merge on `keyColumns`. `runIdColumn` is empty by default on purpose — stamping the run id onto rows would change a customer's schema unasked.

## At a glance

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

## Parameters

### `credentialSlotId`

`string` · required · defaults to `""`

The slot holding the connector's credentials.

### `connectorId`

`string` · required · defaults to `""`

Which bound connector to write through.

### `target`

`string` · required · defaults to `""`

The table to write into.

### `mode`

`ConnectorWriteMode` · required · defaults to `"append"`

Append rows, replace the table, or merge on `keyColumns`.

### `keyColumns`

`string[]` · required · defaults to `[]`

The columns a merge matches on.

### `runIdColumn`

`string` · required · defaults to `""`

Empty means the run id is not stamped onto rows: an append must not change a customer table's schema unasked.

## 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. |
| `data` | `dataframe` | yes      | The rows to write out.                                                                                                                |

## Outputs

| Port      | Kind             | Connects to                        | Description                                                             |
| --------- | ---------------- | ---------------------------------- | ----------------------------------------------------------------------- |
| `written` | `scalar<number>` | `scalar`, `json`, `text`, `signal` | How many rows the connector accepted.                                   |
| `done`    | `signal`         | `signal`                           | Fires once the write has committed, for anything that should follow it. |

***

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