Common questions
Can I use the same Git repo for Omni models and dbt code?
Can I use the same Git repo for Omni models and dbt code?
- Clear ownership — Separates data engineering from business logic.
- Faster iteration — Prevents semantic refreshes from being tied to dbt compilation times.
- Cleaner Git history — Keeps automatic commits from the Omni IDE out of your dbt pull requests.
- Coordinated deployments — Ensures Omni model changes only apply after related dbt runs complete, so downstream content doesn’t break.
Can I use the same dbt repository for multiple database connections?
Can I use the same dbt repository for multiple database connections?
Can I connect multiple dbt projects to a single Omni connection?
Can I connect multiple dbt projects to a single Omni connection?
- Create separate connections for each project, or
- Connect to one project formally and pull the other project’s tables as “raw” schemas
Can I query tables from different dbt projects in the same dashboard?
Can I query tables from different dbt projects in the same dashboard?
Requirements
To follow the steps in this guide, you’ll need:- An existing database connection in Omni
- Omni Connection Admin permissions for the connection you want to connect to dbt
Setup
Retrieve the dbt repository's SSH URL
GitHub
GitHub
- In your browser, navigate to the GitHub dbt repository you want to connect to Omni.
- Click the Code button.
- In the modal that displays, locate the SSH option.
GitLab
GitLab
- In your browser, navigate to the GitLab dbt repository you want to connect to Omni.
- Click the Code button.
- In the modal that displays, locate the SSH option.
Azure DevOps
Azure DevOps
- In your browser, navigate to the Azure DevOps dbt repository you want to connect to Omni.
- Click the Clone button near the top right corner of the page.
- Click the SSH option to display the repository’s SSH URL.
Create the dbt connection in Omni
- In Omni, navigate to Settings > Connections.
- Click the connection you want to use.
- Click the dbt tab.
- Fill in the following fields:
- Git SSH URL - Enter the SSH URL you retrieved in step 1 of this guide
-
Git Branch - Enter the name of the default branch for the repository. This is usually
mainormaster. -
Default Schema - Enter the default schema your dbt project writes models to (i.e., without any custom schema overrides). dbt uses this value as a prefix when naming other schemas. For example, if your database has
dbt,dbt_one, anddbt_twoschemas, the default schema isdbt. - Folder - If your repository contains multiple dbt projects, enter the path to the folder that contains the dbt project you want to connect.
- Enable dbt Semantic Layer - Check this box to enable the dbt Semantic Layer integration. When enabled, Omni will use the dbt Semantic Layer to pull in metrics and dimensions defined in your dbt project.
- Click Save.
Add the deploy key to your repository
GitHub
GitHub
- In the GitHub repository, click the Settings tab.
- Click Deploy keys, located in the Security section of the left navigation.
- Click Add deploy key.
- Fill in the fields as follows:
- Title - Enter a descriptive title to help you identify what the key is used for. For example, Omni Snowflake dbt
- Key - Copy the Public key from the Omni dbt settings tab and paste it into this field.
- Allow write access - Check this box if you want to push changes made in Omni to the repository
- Click Add key.
GitLab
GitLab
- Create a project deploy key for the GitLab repository by following GitLab’s documentation.
- Fill in the deploy key fields as follows:
- Title - Enter a descriptive title to help you identify what the key is used for. For example, Omni Snowflake dbt
- Key - Copy the Public key from the Omni dbt settings tab and paste it into this field.
- Grant write permissions to this key - Check this box if you want to push changes made in Omni to the repository
- Click Add key.
Azure DevOps
Azure DevOps
- Browse to the Azure DevOps web portal (ex:
https://dev.azure.com/<your-org-name>/). - Click the User settings icon next to your avatar in the top right corner of the page.
- Click SSH public keys.
- On the page that displays, click + New Key.
- In the Add New SSH Key panel that displays, fill in the following:
- Name - Enter a descriptive name, such as Omni Snowflake dbt
- Public Key Data - Copy and paste the Public key from the Omni dbt settings tab
- Click Add.
Sync dbt metadata
schema.yml files that live alongside your project’s models.When a schema refresh is triggered, Omni compiles the dbt code and uses the resulting dbt manifest, which includes information such as finalized schema names and model dependencies.If metadata changes in dbt, you’ll need to refresh the schema again in Omni. This can be done via the model menu in the IDE, the connection page (either manual or on a cron schedule), or by using the Omni API.Troubleshooting
Missing views
Missing views
ignored: true parameter. Omni’s sync may interpret complex views — especially those with dynamic logic like Jinja loops — as “not in use,” and automatically hide them to keep the model clean.To fix this:ignored: true parameter.'No models mapped to views' message in a dev environment
'No models mapped to views' message in a dev environment
Update the connection to include the dev schemas
DBT_USER_*.Run a schema refresh
'Circular reference' or duplication errors
'Circular reference' or duplication errors
total_revenue).sql parameter to ensure it points to the raw database column, not the measure name.hidden: true parameter. This will hide the raw column in Omni.dbt version and compatibility errors
dbt version and compatibility errors
dbt 1.10+), update it in Omni:Next steps
- Working with dbt models — Author and edit dbt models from Omni
- dbt Semantic Layer — Pull dbt metrics and dimensions into Omni
- Schema refreshes — Keep your Omni model in sync with dbt changes