Common questions
What do exposures include?
What do exposures include?
When you push exposures from Omni, each published dashboard generates an exposure file containing:
- The dashboard name and URL
- The dbt models that the dashboard depends on
- Metadata about the exposure (owner, type)
Where are exposure files created?
Where are exposure files created?
Exposure files are created in the
models/omni_exposures/ directory of your dbt repository. This file path is not currently customizable.How are exposure names created?
How are exposure names created?
Omni generates exposure names from dashboard titles. If a dashboard title contains special characters or emoji, the resulting exposure name may trigger dbt deprecation warnings about invalid naming conventions.
Can Omni automatically sync exposures to dbt?
Can Omni automatically sync exposures to dbt?
While the Push to dbt action in the UI is a manual process, you can automate this using the Omni API.You can set up a script — using GitHub Actions, a cron job, or orchestration tools like Dagster or Airflow — to fetch exposure metadata and generate the dbt YAML on a regular cadence. This ensures your dbt lineage stays synchronized with the dashboards your team is building without requiring manual intervention.
Are private Omni dashboards or workbooks included in exposures?
Are private Omni dashboards or workbooks included in exposures?
Currently, exposure generation focuses on the final, governed dashboards that serve as the primary consumption point for data.
- Published dashboards: Only dashboards in the shared space are included in exposure generation.
- Private content: Dashboards in your personal space and workbooks are not supported.
Requirements
To follow the steps in this guide, you’ll need:- An Omni connection with a configured dbt integration
- Connection Admin permissions for the connection in Omni
- Write access on the deploy key used to connect dbt to Omni. See deploy key setup for more information.
Pushing exposures to dbt
In the dialog, check the Sync exposures setting. Omni will generate exposure YAML files and push them to your repository.
Troubleshooting
Models missing from exposure
Models missing from exposure
Exposures rely on explicit references to map dependencies. If Omni cannot determine the connection between a query and a dbt model, the exposure will not generate correctly.
- Use
${model_name}syntax. Your SQL must use Omni’s mustache-style references (e.g.,${fct_orders}) for Omni to detect the dependency. - Avoid direct table references. Referencing database tables directly (e.g.,
FROM production.orders) bypasses the mapping layer, and Omni cannot currently map these raw strings to dbt exposures. - Check the publication status of the dashboard. Omni expects dashboards to be moved to the shared space to be captured in a generated exposure.
Next steps
- Create and edit dbt models — Author new dbt models from Omni queries or edit existing models and push changes back to your dbt repository.