
## Metadata Propagator

URL: https://docs.atlan.com/product/capabilities/lineage/references/metadata-propagator

> Complete configuration reference for the Metadata Propagator app, including propagation direction, attribute selection, filters, and matching behavior.

<!--vale off-->

# Metadata Propagator 

<!--vale on-->

The Metadata Propagator app enables you to propagate selected metadata, such as owners, tags, descriptions, certificates, and custom metadata, from source assets to related assets through lineage, hierarchy, or named relationships. You control which attributes are propagated, the direction of propagation, and exactly which source and target assets are in scope using flexible filters.

The app supports a **Preview** mode that produces a CSV report of proposed changes before any modifications are made, making it safe to validate workflow behavior before applying propagation to your Atlan tenant. This reference provides complete configuration details for the Metadata Propagator workflow.

### Authentication

This section defines all fields available in the workflow setup screens.

#### API token

The Atlan API token used to authenticate the workflow and power the dynamic dropdowns in the **Filters** and **Impacted Asset Filters** screens.

### Configurations

This screen defines what metadata to propagate and how the propagation behaves.

#### Attributes to propagate

Specifies which standard metadata attributes are propagated from source assets to target assets. You can select any combination of the following:

- **Description**: Propagates the asset description. The `userDescription` attribute takes priority over `description` when both are present on an asset. For more information, see [How does version control work for description changes in source tools vs. Atlan?](https://docs.atlan.com/product/capabilities/discovery/faq#how-does-version-control-work-for-description-changes-in-source-tools-vs-atlan).

- **Owner Users**: Propagates the user owners assigned to the source asset.
- **Owner Groups**: Propagates the group owners assigned to the source asset.
- **Announcement**: Propagates the announcement type, title, and message from the source asset.
- **Assigned Terms**: Propagates business glossary terms linked to the source asset.
- **Certificate**: Propagates the certification status of the source asset.
- **Tags**: Propagates tags attached to the source asset. The app attaches tags directly to each target asset rather than using Atlan's native tag propagation, so tags aren't automatically removed from downstream or upstream assets when they're removed from the source. For native tag behavior, see [Atlan's native tag propagation](https://docs.atlan.com/llms/governance/integrations/tag-propagation/llms.txt).

- **Readme**: Propagates the readme content from the source asset.
- **Domain**: Propagates the data domain assigned to the source asset.

#### Custom metadata to propagate

Specifies additional custom metadata attributes to propagate beyond the standard attributes listed earlier. Use the format `<custom_metadata_name>.<attribute_name>` and separate multiple attributes with `@@@`.

*Example:*

```
Scores.Missing Metadata@@@SLA.Update Frequency
```

In this example, the `Missing Metadata` attribute from the `Scores` custom metadata set and the `Update Frequency` attribute from the `SLA` custom metadata set are both propagated.

#### Propagation direction

Specifies how the app traverses assets to identify propagation targets from the source assets.

### Lineage

Propagates metadata to assets connected through Atlan's lineage graph.

- **Lineage direction**: Whether to propagate **downstream** (from source to dependent assets) or **upstream** (from source to supplying assets).
- **Lineage depth**: How many hops through the lineage graph to follow. Leave empty to propagate through the full lineage without a depth limit.
- **Check direct dependency**: When enabled, metadata is propagated to a target asset only if it has a single direct dependency in the propagation direction—one upstream asset for downstream propagation, or one downstream asset for upstream propagation. By default, metadata other than tags follows this rule; tags propagate even when the target has multiple dependencies. Disable this to propagate regardless of how many dependencies an asset has, but note this may cause conflicts when multiple source assets have different values for the same attribute.

### Hierarchy

Propagates metadata to assets connected through a hierarchical relationship based on qualified name patterns.

- **Hierarchy type**: The hierarchy model used for propagation:
 - **Qualified Name pattern (Any Connector)**: Propagates metadata to assets whose qualified name follows the hierarchical structure of the source asset's qualified name.

 *Example:* If the source asset's qualified name is `default/snowflake/1740145172/my_db` and the direction is **Down**, all assets whose qualified name matches `default/snowflake/1740145172/my_db/*` are included.

- **Hierarchy direction**: Whether to propagate **down** the hierarchy (to children and descendants) or **up** the hierarchy (to parents and ancestors) from the source asset.

### Relationship

Propagates metadata to assets connected through named Atlan relationship types.

- **Relationship names**: A comma-delimited list of relationship names to follow from the source asset. Names must match valid Atlan metamodel relationship names. For a full list of relationships available for each asset type, see the [relationship map](https://docs.atlan.com/llms/platform/types/llms.txt) on the Atlan developer portal; navigate to the desired asset type's relationship documentation there to find all available relationships for that asset type.

*Examples:*

| Goal | Relationship names |
|---|---|
| Propagate from a glossary term to its assigned data assets | `assignedEntities` |
| Propagate from a data asset to its assigned glossary terms | `meanings` |
| Propagate from a glossary term to related terms and parent categories | `categories,anchor,seeAlso` |

#### Propagation mode

Controls how metadata values are written to target assets.

- **Append**: Adds propagated values to any existing values on the target asset. Only valid for **Owner Users**, **Owner Groups**, **Assigned Terms**, and **Tags**.
- **Replace**: Fully replaces the existing metadata on the target asset with the values from the source asset.
- **Propagate only if empty**: Propagates the attribute only when the corresponding field on the target asset is currently empty. If the target already has a value, propagation is skipped for that attribute.

#### Propagate empty announcement

When enabled, the app propagates the absence of an announcement from the source asset, effectively clearing any existing announcements on target assets. Only announcements previously written by the Metadata Propagator are removed; announcements added through other means aren't affected.

#### Operation type

Determines whether the app runs in preview or live propagation mode.

- **Preview**: Generates a CSV file listing all metadata changes to be applied, without modifying your Atlan tenant. Use this to validate the workflow configuration.
- **Propagate**: Applies the metadata propagation to your Atlan tenant according to the configured settings.

:::warning Start with Preview
It's strongly recommended to run the workflow in **Preview** mode first to verify that the correct assets and attribute values are in scope. Reverting propagated metadata requires additional effort and isn't automatically reversible.
:::

#### Mode

Controls whether the workflow processes all matching source assets or only recently changed ones.

- **Full**: Processes all assets that match the configured filters on every run.
- **Incremental**: Processes only assets updated since the previous workflow run. Only available when **Operation type** is set to **Propagate**.

#### Asset name match

When enabled, metadata is propagated only to target assets whose name matches the name of the source asset. Useful for propagating metadata between assets that represent the same data across different systems or connections.

#### Case sensitive match

When **Asset name match** is enabled, controls whether the name comparison is case-sensitive.

- **Yes**: `Orders` matches only `Orders`.
- **No**: `Orders` matches `Orders`, `orders`, `ORDERS`, and any other case variation.

#### Source attribute for matching

Specifies which attribute on the source asset to use for name-based matching. If left empty, the source asset's `name` attribute is used. Only applies when **Asset name match** is enabled.

*Example:* `apiName` or `id`

#### Source pattern to match

A regular expression pattern applied to the source asset's name (or the attribute specified in **Source attribute for matching**) before comparison. Use together with **Source replacement value** to normalize source names prior to matching.

Only applies when **Asset name match** is enabled.

#### Source replacement value

The replacement text for matches found by **Source pattern to match**. Leave empty to remove matched characters rather than replacing them.

Only applies when **Asset name match** is enabled.

#### Target pattern to match

A regular expression pattern applied to the target asset's name before comparison. Use together with **Target replacement value** to normalize target names prior to matching.

Only applies when **Asset name match** is enabled.

#### Target replacement value

The replacement text for matches found by **Target pattern to match**. Leave empty to remove matched characters.

Only applies when **Asset name match** is enabled.

### Filters

This screen defines filters that determine which **source assets** are included in the propagation. Only assets that match all configured filters have their metadata propagated. Leave this section empty to include all assets accessible with the configured API token.

Each filter has an operator and a value. For **Name**, **Qualified Name**, **Description**, and **Has Terms**, the available operators include **Is empty** and **`Is not empty`**, which don't require a value. All other filters (Connector, Connection, Asset Type, Certificate, Tag, Announcement, Owner User, Owner Group, Domain) support only **Is one of** and **`Is not one of`** and require a value to be set.

- **Connector**: Restricts source assets to a specific connector type, such as the database or tool that synced the asset into Atlan.
 *Example:* Snowflake, dbt, Tableau.
- **Connection**: Restricts source assets to a single Atlan connection, so you can scope propagation to one database instance or environment.
- **Asset Type**: Restricts source assets by type so you can propagate only from tables, columns, dashboards, or other asset kinds.
 *Example:* Table, Column, Dashboard.
- **Name**: Matches source assets by their display name in Atlan, useful when you want to include or exclude assets with specific names or naming patterns.
- **Certificate**: Restricts source assets by certification status so only certified (or uncertified) assets are used as propagation sources.
 *Example:* Verified, Deprecated.
- **Qualified Name**: Matches source assets by qualified name or a prefix, so you can scope by a specific schema, folder path, or naming hierarchy.
- **Tag**: Restricts source assets to those that have (or don't have) specific tags, so you can limit propagation to tagged subsets of your catalog.
- **Description**: Restricts source assets by whether they have a description or by the description text, useful when curating well-documented sources.
- **Announcement**: Restricts source assets by the presence or type of announcement, so you can scope propagation to announced or unannounced assets.
- **Owner User**: Restricts source assets by assigned user owners, so you can run propagation only from assets owned by specific people.
- **Owner Group**: Restricts source assets by assigned group owners, so you can scope propagation to assets owned by specific teams or roles.
- **Domain**: Restricts source assets to a data domain, so propagation runs only from assets within a chosen domain.
- **Has Terms**: Restricts source assets by whether glossary terms are assigned, so you can include or exclude assets that are already linked to terms.

### Source custom metadata filters

This screen lets you filter source assets using custom metadata attributes. Each filter consists of a custom metadata set selector, an operator, and a value. Operators include **Is one of** and **`Is not one of`**; for custom metadata attributes that support multiple values, use comma-separated strings to match on several values simultaneously.

*Example:* If you want to include only source assets whose **Update Frequency** in the **SLA** custom metadata set is Daily or Weekly, set Custom Metadata to **SLA > Update Frequency**, Operator to **Is one of**, and Filter Value to `Daily, Weekly`.

### Impacted asset filters

This screen defines filters applied to the **target assets** that receive propagated metadata—the upstream or downstream assets reachable from the source assets. Only target assets that match all configured filters receive the propagated metadata. Leave this section empty to propagate to all reachable assets. Assets of type `Process`, `BIProcess`, `ColumnProcess`, `DbtColumnProcess`, `DbtProcess`, and `Query` are always excluded from impacted assets and won't receive propagated metadata.

The same filter attributes are available as in [Filters](#filters), with the exception of **Has Terms**.

### Impacted custom metadata filters

This screen lets you filter target assets using custom metadata attributes before propagation. The same behavior applies as in [Source custom metadata filters](#source-custom-metadata-filters), including using comma-separated values with **Is one of** or **`Is not one of`** for attributes that support multiple values.

*Example:* If you want to propagate only to target assets whose **Update Frequency** in the **SLA** custom metadata set is Daily or Weekly, set Custom Metadata to **SLA > Update Frequency**, Operator to **Is one of**, and Filter Value to `Daily, Weekly`.

## See also

- [Propagate metadata through lineage](https://docs.atlan.com/llms/catalog/lineage/propagate-metadata-through-lineage/llms.txt): Step-by-step guide to setting up and running the Metadata Propagator.
- [What is lineage](https://docs.atlan.com/llms/catalog/lineage/what-is-lineage/llms.txt): Learn how Atlan represents upstream and downstream asset relationships.
- [Tag propagation](https://docs.atlan.com/llms/governance/integrations/tag-propagation/llms.txt): Atlan's native tag propagation and how it differs from app-based propagation.

---
