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

# Connector Import

> Run a connector import through a bound credential and materialise the rows as a dataset version.

Pulls a table or query through a bound connector and lands it as a workspace dataset.

Durable only, and long-running: the whole source table streams through the worker, so the module's start-to-close ceiling is measured in hours rather than minutes. `targetDatasetId` is minted once when the module is created so that every run writes into the same dataset rather than a new one each time.

## At a glance

|                          |                        |
| ------------------------ | ---------------------- |
| Module type              | `ConnectorImport`      |
| Category                 | Inputs                 |
| Default tier             | `durable`              |
| Runs on                  | `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; the flow never carries the secret itself.

### `connectorId`

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

Which bound connector to read through.

### `query`

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

The query to run; set this or `table`. Some connector types need `table` regardless.

### `table`

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

The source table to read whole; set this or `query`.

### `mode`

`ConnectorImportMode` · required · defaults to `"replace"`

How each run's rows meet what is already in the target dataset.

### `targetDatasetId`

`string` · required · defaults to `"<minted per module>"`

Minted once so every run of the module lands in the same dataset (backend `_connector_import`).

### `datasetName`

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

The name the imported dataset is given.

## 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. |
| `payload` | `json`  | no       | Values for a parameterised query; unconnected, the query runs as written.                                                             |

## Outputs

| Port        | Kind             | Connects to                        | Description                                                      |
| ----------- | ---------------- | ---------------------------------- | ---------------------------------------------------------------- |
| `dataset`   | `dataframe`      | `dataframe`, `signal`              | The rows this run imported.                                      |
| `datasetId` | `scalar<string>` | `scalar`, `json`, `text`, `signal` | The id of the dataset they landed in — the same id on every run. |

***

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