Skip to main content
Use dbt metadata to enrich your Omni environment with context from your transformation layer. By pulling dbt context into Omni, you can maintain a single source of truth for your data definitions making it easier for analytics engineers, analysts, and business users to share context about what fields and tables mean, ensuring they’re using the right things in their queries. Omni pulls the following information from dbt:
  • dbt model and field descriptions are brought into the corresponding Omni view files. Descriptions also become viewable in the workbook field picker
  • dbt SQL code is brought into the corresponding Omni view files, making it easier to trace logic between the tools
  • dbt dependencies are also brought into the corresponding Omni view files
dbt metadata settings in Omni connection settings

Common questions

No. While a combination of unique and not_null tests is logically equivalent to a primary key, Omni does not infer primary key status from these tests. Instead, Omni identifies a primary key through:
  1. dbt constraints: Defined primary_key types within the constraints block of your dbt YAML. This also requires enabling the auto-generate primary keys and relationships from dbt constraint setting in the connection’s dbt tab to be enabled.
  2. Database objects: Primary keys defined directly on the object within your database.
  3. Manual configuration: Selecting the primary key manually within the Omni IDE.
Omni does not currently pull join logic or relationship constraints directly from relationships tests or schema.yml files. Joins are managed within the Omni modeling layer to give you full control over join types and cardinality.
Yes. Omni runs the dbt compiler directly. It detects and handles custom generate_schema_name() macros, applying them based on your dbt environment parameters in Omni.
  • Production: Maps to standard schemas (e.g., marts, reports).
  • Development: Maps to prefixed schemas (e.g., dbt_blobby_marts)

Requirements

Before you begin, ensure you have the following:
  • A dbt project (Cloud or Core) connected to Omni
  • Connection Admin permissions in Omni

Syncing metadata

To pull your dbt metadata into Omni, follow these steps:
  1. Navigate to the Model IDE
  2. Click the Model dropdown in upper right hand corner.
  3. Click Sync dbt metadata to pull the latest descriptions and tags from your manifest.json.
Once the sync is complete, you will see dbt descriptions appearing as tooltips throughout the Omni workbook. When column descriptions differ between your dbt instance and your data warehouse’s catalog, Omni prioritizes dbt’s column descriptions. If descriptions are edited in Omni, Omni prioritizes those descriptions.
Keep your metadata fresh. If you make significant changes to your dbt project’s schema.yml or manifest.json, remember to refresh the metadata in your connection settings to see those changes in Omni, or set up an automated process to trigger on every dbt build.
example metadata in IDE

Next steps

After setting up your dbt metadata, you can further refine how your data is represented and used in Omni:
  • Configure Virtual Schemas: If you haven’t already, set up virtual schemas to organize your dbt-transformed tables into logical groupings within the Omni model.
  • Manage dbt environments: Ensure your dbt environments are correctly mapped so that Omni pulls metadata from the appropriate production or development branches.
  • Refine your model: While Omni pulls in descriptions, you can further enrich your model by adding field-level metadata or custom formatting directly in the Omni IDE.
  • Create a workbook: Start exploring your data by creating a new workbook to visualize the fields enriched by your dbt metadata.