# Link Enrichment on Datastore Creation

Source: https://userguide.qualytics.io/source-datastore/enrichment-datastore/how-tos/link-during-creation/

When you create a new datastore, you can link its enrichment destination in the same flow, without configuring it separately afterward. This is the recommended approach, as it ensures the results of the very first Scan are written.

The **Add Datastore** page handles this as its second step, **Enrichment Destination (optional)**: after your datastore connection is verified, click **Next** instead of **Finish** to reach it.

> **Note: Permission Required**
>
> Creating the source datastore requires the **Manager** user role and the **Editor** team permission on at least one team assigned to it. The same requirements apply when creating a new destination in this step. See [Permissions](https://userguide.qualytics.io/source-datastore/enrichment-datastore/deep-dive/permissions/).

> **Info: Link Later**
>
> If you prefer to skip this step, you can link a destination at any time afterward. See the [Link an Enrichment Destination](https://userguide.qualytics.io/source-datastore/enrichment-datastore/how-tos/link-enrichment/) documentation.

> **Info: Form Fields**
>
> The connection fields vary by connector. To learn how to fill in each field, see the connector's own page, listed under [Supported Connectors](https://userguide.qualytics.io/source-datastore/enrichment-datastore/supported-connectors/). The **User Guide** panel on the right side of the page also shows the setup guide for whichever connector you select.

## Field reference

The fields you fill in depend on the option you pick. **Existing Destination** has no connection fields: selecting a destination shows a read-only **Details** block with its **Teams**, **Host**, **Database**, and **Schema** (the **URI** and **Root Path** for file-based connectors). The **Existing Connection** and **New Connection** options create a new destination with the **Connection Properties**, **Location**, and **General** sections below. **Write Behavior**, **Remediation Strategy**, and **Prefix** apply to every option.

### Connection Properties

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Connection Name** | Yes | Text | A name that identifies the connection, so other datastores can reuse it later. **New Connection** only; when reusing an existing connection, the **Connection Properties** come already filled in and read-only. |
| **Secrets Management** | No | Option | Retrieves credentials from a secrets manager instead of typing them in. Once the secrets manager is configured, use `${key}` in any connection property to reference a key from the stored secret. **New Connection** only. |

### Location

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Location** | Yes | Text / Option | Where Qualytics writes inside the connected system (for example, a database and schema, or a folder path). The exact fields depend on the connector; see its page for details. |

### General

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Name** | Yes | Text | The name of the new datastore. |
| **Teams** | Yes | Option | One or more teams that can access the new destination. |

### Write Behavior

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Profile written tables in the enrichment destination** | No | Toggle | On by default. For a file-based destination the label reads **Profile written paths in the enrichment destination**. After this datastore writes to the destination, Qualytics always adds the written outputs to the destination, names them, and links them to their source. With this on, Qualytics also profiles them, which types their fields and records row counts, so they are ready to use without a manual step. |

### Remediation Strategy

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Remediation Strategy** | No | Choice | Whether a Scan also writes a snapshot of the anomalous records: **None** does not (default), **Append** adds the anomalous records after each Scan, and **Overwrite** keeps only the latest Scan's. Each anomaly writes the same records it keeps as source examples, so at most **Maximum Source Examples per Anomaly** rows (10 by default), not every anomalous record. |

### Prefix

| Field | Required | Type | Description |
| --- | --- | --- | --- |
| **Prefix** | Yes | Text | The start of Scan, Remediation, and Materialize output names, generated from each datastore's name. Each datastore sharing a destination needs its own prefix. |

The **Prefix** section lists every datastore you are creating, with its prefix shown on the `source_records` output as an example, such as `<prefix>_source_records`. When you add several datastores at once, from several schemas or root paths, each gets a prefix of its own, and the list shows three rows until you click **Show all**.

| To | Do This |
| --- | --- |
| Change a prefix | Click **Edit prefixes**  and type in the row. When you leave the field, the prefix is rewritten the way it is saved: lowercase, starting with an underscore, with any run of other characters turned into a single underscore, and at most 60 characters. |
| Undo one change | Click **Reset to datastore name**  inside that row. |
| Undo every change | Click **Reset all** at the bottom of the list. |
| Go back to the example names | Click **Preview** . |

An empty or repeated prefix is marked in red and moved to the top of the list, the bottom of the list counts them, and **Finish** stays disabled until each one is fixed. If a prefix is already used by another datastore writing to the same destination, **Finish** fails with **Prefix already used on this destination**. Change that prefix and click **Finish** again: the link is retried with the new prefix. When you add several datastores at once, a datastore whose link is refused is not kept, and only the ones that were not created are sent again. The rows of the datastores already created keep the name and prefix they were created with and show a lock : their prefix can no longer be changed here, and **Reset all** leaves them as they are. On a new connection, the retry reuses the connection the first attempt saved, including when every datastore was refused at the link. The same holds when the first attempt created a new group with **Create group**, because the group is saved with the connection. Only when nothing saved the connection, with every datastore failing before it was created (for example because its name is already taken) and no new group created, does **Finish** create the connection again.

## Steps

There are three ways to set the destination when adding a datastore: **Existing Destination**, **Existing Connection**, and **New Connection**. The tabs below walk through each option; pick the one you want to follow. Each field is described in the [Field reference](https://userguide.qualytics.io/source-datastore/enrichment-datastore/how-tos/link-during-creation/#field-reference) above.

> **Warning: Side Effects**
>
> Once linked, every Scan, Materialize and Export of this datastore writes to the destination, and Qualytics adds the written outputs to the destination. It also profiles them when **Profile written tables in the enrichment destination** is enabled, as it is by default. For storage impact and remediation strategies, see [How Enrichment Works](https://userguide.qualytics.io/source-datastore/enrichment-datastore/deep-dive/how-it-works/).

**Tab: Existing Destination**

Link a destination that already exists. This option appears only when at least one is available.

**Step 1**: Click **Next** at the bottom of the **Add Datastore** page once your datastore connection test has passed. The **Enrichment Destination** step opens.

**Step 2**: Select **Existing Destination** next to the **Search**  field.

**Step 3**: Select the destination from the grid. Each card shows the datastore name and its connector; use the search field to filter by name. A **Details** block appears with the selected datastore's **Teams**, **Host**, **Database**, and **Schema** (the **URI** and **Root Path** for file-based connectors).

**Step 4**: Leave **Profile written tables in the enrichment destination** on unless you want to profile the written tables yourself, change the **Remediation Strategy** if needed, and change a prefix with **Edit prefixes**  if you want to.

**Step 5**: Click **Finish**. An existing destination needs no connection test. A success dialog confirms that your datastore has been created and linked. Click **Go to your datastore** to open its page.

**Tab: Existing Connection**

Create a new enrichment datastore and use it as the destination, reusing the credentials of a connection you already saved. This option is offered when at least one saved connection uses a connector that supports enrichment datastores.

**Step 1**: Click **Next** at the bottom of the **Add Datastore** page once your datastore connection test has passed. The **Enrichment Destination** step opens.

**Step 2**: Select **Existing Connection** next to the **Search**  field.

**Step 3**: Select the connection you want to reuse from the grid. Each card shows the connection name and its connector; use the search field to filter by name. The **Connection Properties** come already filled in and read-only.

> **Tip: Start a new connection from this one**
>
> To use the selected connection as a starting point for a brand-new connection instead, click the **Duplicate as a new connection**  button on the selected connection. The step switches to **New Connection** mode with the connection's settings already filled in for you to adjust.

**Step 4**: Fill in the **Location** fields and the **General** (**Name** and **Teams**). Then leave **Profile written tables in the enrichment destination** on unless you want to profile the written tables yourself, change the **Remediation Strategy** if needed, and change a prefix with **Edit prefixes**  if you want to.

**Step 5**: Click **Test connection**. A success message confirms that the connection has been verified.

> **Info**
>
> The **Finish** button stays disabled until the required fields are filled in and the connection test passes on the current values.

**Step 6**: Click **Finish**. A success dialog confirms that your datastore and its destination have been created and linked. Click **Go to your datastore** to open the datastore's page.

**Tab: New Connection**

Create a new destination from scratch, setting up a new connection with its own credentials.

**Step 1**: Click **Next** at the bottom of the **Add Datastore** page once your datastore connection test has passed. The **Enrichment Destination** step opens.

**Step 2**: Select **New Connection** next to the **Search**  field.

**Step 3**: Select a connector from the grid. Only connectors that support enrichment datastores are listed; use the search field to filter by name.

> **Note: Same connector as the source**
>
> If your datastore's connector supports enrichment datastores, it comes already selected, with the connection fields already filled in from the source connection. Click the selected card to change it.

**Step 4**: Fill in the **Connection Properties**: a **Connection Name** that other datastores can reuse later, the connector's connection fields, and optionally **Secrets Management** to retrieve credentials from a secrets manager.

**Step 5**: Fill in the **Location** fields and the **General** (**Name** and **Teams**). Then leave **Profile written tables in the enrichment destination** on unless you want to profile the written tables yourself, change the **Remediation Strategy** if needed, and change a prefix with **Edit prefixes**  if you want to.

**Step 6**: Click **Test connection**. A success message confirms that the connection has been verified.

> **Info**
>
> The **Finish** button stays disabled until the required fields are filled in and the connection test passes on the current values.

**Step 7**: Click **Finish**. A success dialog confirms that your datastore and its destination have been created and linked. Click **Go to your datastore** to open the datastore's page.

> **Info: Manage Enrichment**
>
> To change the settings, move to another destination, or unlink after creation, see the [Link an Enrichment Destination](https://userguide.qualytics.io/source-datastore/enrichment-datastore/how-tos/link-enrichment/) or [Unlink an Enrichment Destination](https://userguide.qualytics.io/source-datastore/enrichment-datastore/how-tos/unlink-enrichment/) documentation.

*Last updated: October 19, 2026.*
