# Metadata dependencies

Metadata dependencies are **logic rules** that control how metadata behaves based on other metadata values: they let you show or hide fields, set default values, and restrict options so that your data stays relevant, accurate, and consistent.

### Create a dependency

Dependencies are created at the metadata field level by defining a combination of:

* **asset type**: filtered list of assets (*all assets, images,...)*
* **trigger**: a condition  that when honoured triggers action (s)
* **action(s)**: an automated action(s) applied to another metadata field or field group

<figure><img src="https://2536208400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqsq2dR7Fjagf5eTifWZx%2Fuploads%2FryYZ0LRb9OBlBP22THaW%2FCleanShot%202025-09-29%20at%2010.41.00%402x.png?alt=media&#x26;token=42794963-cc69-49fd-8d8b-edf7f7192c07" alt=""><figcaption></figcaption></figure>

\
The dependency tab is accessible by editing a metadata supporting dependencies

{% hint style="info" %}
Only metadata of type Boolean, List (single value) and list (multiple values) supports dependencies
{% endhint %}

**Supported conditions (trigger)**

The following conditions can be used to trigger a dependency (this depends on the type of metadata used to create the dependency)

| Condition      | Boolean              | List (single-value)  | List (multiple-value) |
| -------------- | -------------------- | -------------------- | --------------------- |
| `is_true`      | :white\_check\_mark: | :x:                  | :x:                   |
| `is_false`     | :white\_check\_mark: | :x:                  | :x:                   |
| `is_empty`     | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark:  |
| `is_not_empty` | :white\_check\_mark: | :white\_check\_mark: | :white\_check\_mark:  |
| `is_in`        | :x:                  | :white\_check\_mark: | :white\_check\_mark:  |
| `is_not_in`    | :x:                  | :white\_check\_mark: | :white\_check\_mark:  |
| `is`           | :x:                  | :x:                  | :white\_check\_mark:  |
| `is_not`       | :x:                  | :x:                  | :white\_check\_mark:  |

**Supported actions**&#x20;

<table><thead><tr><th width="170.88671875">Action</th><th width="143.07421875">Metadata group</th><th width="109.37109375">All metadata type</th><th width="103.75390625">Boolean</th><th width="119.49609375">List (single-value)</th><th>List (multiple-value)</th></tr></thead><tbody><tr><td><code>is_hidden</code><br>Hides the metadata / group of metadata</td><td><p><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></p><p>(Hides all the metadata in the group)</p></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td><code>is_required</code><br>Metadata needs to be filled in to save</td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td><code>allow_values</code><br>Set the values that will be shown to the user<br><br>(subset of the metadata options list)</td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> (multiple values)</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> (multiple values)</td></tr><tr><td><p><code>set_values</code></p><p></p><p>Set the value(s) of the metadata</p></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr></tbody></table>

{% hint style="info" %}
Certain combinations of dependencies, triggers, and actions are not allowed because they would create conflicts on the metadata level
{% endhint %}

When a dependency is enabled, it applies to assets. In the asset details modal / info sidebar, metadata fields controlled by a dependency are marked with a link icon (hover over the icon to see the dependency details):

<figure><img src="https://2536208400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqsq2dR7Fjagf5eTifWZx%2Fuploads%2FqtZOkZ464L3rzhJmSR6P%2FCleanShot%202025-09-29%20at%2011.16.13%402x.png?alt=media&#x26;token=67f23f34-6693-40f6-8fa5-727646313e69" alt=""><figcaption></figcaption></figure>

Some conflicts may arise when a dependency is enabled (for example if the dependency is setting a value to a metadata that has already a different one). \
\
Conflicts (if any) are indicated in a banner located on top of the panel. Click on Solve conflicts to highlights and fix the issues. \ <br>
