Skip to main content
A dbt sync reads model and column descriptions from your dbt project into Omni. This works in the other direction too: if you write or edit a description on a view or dimension in Omni, you can push it back into your dbt project’s schema.yml files, so both layers stay in sync without maintaining descriptions twice.

Requirements

To follow the steps in this guide, you’ll need:

What gets pushed

Pushing descriptions to dbt

  1. In Omni, click Develop to open the list of models in your instance.
  2. Click the model you want to work with to open the model IDE.
  3. Click Model > Push to dbt.
  4. In the dialog, check the Sync descriptions setting. Omni will update your dbt project’s schema.yml files with descriptions from Omni.
    Push metadata to dbt dialog with Sync descriptions checked
  5. Click Create pull request.
  6. Review and merge the pull request in your Git provider.
If a model doesn’t yet have a schema.yml file, Omni creates one. The push only touches the description keys it manages; other properties you’ve defined in the file, like tests or meta, are left as they are.

Troubleshooting

The deploy key connecting your dbt Git repository to Omni needs write access to create a branch and open a pull request. Check the key’s permissions in your Git provider if the push doesn’t produce a PR.
Check whether the field is Omni-only. Custom dimensions or measures built entirely in Omni don’t map to a column in your dbt project, so they have nowhere to go in schema.yml. Use the diff viewer to confirm which fields are included before confirming the push.

Common questions

It depends on the direction.When Omni syncs from dbt (a schema refresh), a description you’ve edited in Omni is prioritized over dbt’s version.Pushing descriptions to dbt, as covered on this page, works the other way: whatever the description reads in Omni at the time you push is written into schema.yml.
Yes. Clear the edited description in Omni, and the next schema refresh restores the dbt-sourced value.
No. Pushing descriptions works the same way for dbt Core and dbt Cloud connections. Omni pushes directly to your dbt Git repository either way.

Next steps