# Sharing metadata between Omni and dbt (description, exposures, accepted\_values, and more)

**URL:** <https://community.omni.co/t/sharing-metadata-between-omni-and-dbt-description-exposures-accepted-values-and-more/399>\
**Category:** Modeling\
**Tags:** dbt\
**Created:** [October 7, 2025, 11:28pm UTC](https://community.omni.co/t/sharing-metadata-between-omni-and-dbt-description-exposures-accepted-values-and-more/399 "2025-10-07T23:28:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![conner](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.omni.co/conner/32/11_2.png) [@conner](https://community.omni.co/u/conner)\
**Post date:** [October 7, 2025, 11:28pm UTC](https://community.omni.co/t/sharing-metadata-between-omni-and-dbt-description-exposures-accepted-values-and-more/399/1 "2025-10-07T23:28:44Z")

</div>

If you’ve spent time building out metadata in your dbt environment, it can be brought into Omni automatically and be helpful for end users. For example, field and table descriptions will automatically show up in the UI as users query data, and they’ll also be used by our AI when answering natural language questions.

In addition, you can push valuable metadata from Omni back down to dbt to keep them in sync. For example, as you build out Omni workbooks and dashboards, Omni can help you generate [exposures](https://docs.getdbt.com/docs/build/exposures) to add to dbt and link to dependencies for each model.

Here’s a comprehensive list of the metadata that can currently be shared between Omni and dbt:

- **[Field descriptions](https://docs.omni.co/docs/modeling/dimensions#description) and [table descriptions](https://docs.omni.co/docs/modeling/views#view-definition)** are automatically pulled in from dbt and surfaced to end users. Descriptions added in Omni can also be pushed down to dbt.

- **[Exposures](https://docs.getdbt.com/docs/build/exposures)** can automatically be generated in Omni and pushed down to dbt, directly linking to dbt models to dependent Omni content. (You can also check out [this guide](https://community.omni.co/t/generating-dbt-exposures-using-omni-apis/392) on creating exposures from Omni via API.)

- [accepted\_values](https://docs.getdbt.com/reference/resource-properties/data-tests#accepted_values), a dbt data\_tests parameter that supplies a list of possible values, are pulled into Omni’s all\_values parameter. This is particularly useful for AI. For example, if Omni’s AI knows that your Country field only accepts “USA” and “UK”, then when someone asks to filter to “US data only”, it can match “US” to the value “USA”.

- **[Primary keys](https://docs.omni.co/docs/modeling/dimensions#primary_key) and [relationships](https://docs.omni.co/docs/integrations/dbt#pull-dbt-context-and-metadata-into-omni)** can automatically be generated in Omni based on dbt constraints, so you don’t need to manually define them again.

- **Omni’s[dbt IDE](https://docs.omni.co/docs/integrations/dbt/models#editing-models)** also gives you read-only access to the files in your dbt schema, reducing the context-switching required when developing in Omni.

Here’s a quick demo showing you how these pieces come together:

[![](https://canada1.discourse-cdn.com/flex004/uploads/omni/original/1X/b4ef17f86543066dcd15a1e704686d760e678d90.jpeg "Omni's dbt integration: dbt context and metadata") ](https://www.youtube.com/watch?v=G0HFm_NHb6s)
