# Omni Docs - [Docs (527 pages)](https://docs.omni.co/_llms/docs.md): Documentation for Docs. - [Admin (121 pages)](https://docs.omni.co/_llms/admin.md): Documentation for Admin. ## Guides - [Guides](https://docs.omni.co/guides/index.md): Step-by-step tutorials and best practices for getting the most out of Omni. - [Improving AI answer quality](https://docs.omni.co/guides/ai/improve-ai-answer-quality.md): Learn practical steps to improve AI answer quality in Omni by optimizing data modeling, testing AI responses, and monitoring usage patterns. - [Tuning Omni AI for cost and quality](https://docs.omni.co/guides/ai/tuning-cost-quality.md): Balance AI cost and quality for your organization by combining ai_settings parameters into profiles that fit your use cases. - [Bulk update model YAML files with the API](https://docs.omni.co/guides/api/bulk-update-model-yaml.md): Use a model branch to batch programmatic YAML updates into a single git sync. - [Set up connection environments with the API](https://docs.omni.co/guides/api/connection-environments.md): Configure dev and prod connection environments with the API. - [Build a data lineage integration with the Omni API](https://docs.omni.co/guides/api/data-lineage-integration.md): Build OpenMetadata / DataHub integrations using the Omni REST API - [Port SQL queries into an Omni workbook via API](https://docs.omni.co/guides/api/port-sql-queries-omni-api.md): Use a bash script to build Omni tabs and tiles via the Omni API. - [Rotate Git SSH deploy keys with the API](https://docs.omni.co/guides/api/rotate-ssh-deploy-keys.md): Use the API to rotate SSH deploy keys without interrupting Git operations. - [Run document queries with the Query API](https://docs.omni.co/guides/api/run-document-queries.md): Programmatically run document queries with the Omni API. - [Enforce database RBAC in Omni with connection environments](https://docs.omni.co/guides/connections/enforce-database-rbac.md): Use database-level roles to manage data access, audit logging, and resource allocation in Omni. - [Filter dashboard charts with calculated fields](https://docs.omni.co/guides/dashboards/calculated-field-filter.md): Create a dashboard filter using a calculated field in the underlying query. - [Dashboard best practices](https://docs.omni.co/guides/dashboards/dashboarding-best-practices.md): Tips and patterns from the Omni team to help you build dashboards your whole org actually wants to use. - [Embed dbt platform data health tiles in Omni dashboards and apps](https://docs.omni.co/guides/dashboards/dbt-data-health-tiles.md): Embed data health tiles from the dbt platform (formerly dbt Cloud) in Omni dashboards and apps to show data freshness and quality at a glance. - [Swap dashboard identifiers](https://docs.omni.co/guides/dashboards/swap-dashboard-identifiers.md): Reuse a document's identifier so an old bookmarked URL opens its replacement instead of the original. - [Choosing your deployment](https://docs.omni.co/guides/deployment/choosing-your-deployment.md): This guide will help you to identify the right Omni deployment pattern for your environment based on your infrastructure, team structure, and content governance requirements - [Deploying Omni: Multiple instances across multiple regions](https://docs.omni.co/guides/deployment/multi-instance-multi-region.md): Manage a full DEV/STAGE/PROD deployment across multiple geographic regions using git follower mode — for enterprise teams with data residency requirements or globally distributed operations - [Deploying Omni: Multiple instances (Prod/Stage)](https://docs.omni.co/guides/deployment/multi-instance-prod-stage.md): Set up and manage separate staging and production Omni instances using git follower mode — the recommended pattern for teams that require full environment isolation - [Deploying Omni at scale with shared model extensions](https://docs.omni.co/guides/deployment/scaled-deployments-shared-model-extensions.md): Learn how to use Shared Model Extensions to manage large Omni deployments across multiple data teams. - [Deploying Omni: Single instance with dynamic connections](https://docs.omni.co/guides/deployment/single-instance-dynamic-connections.md): Set up and manage Omni in a single instance with dynamic connection environments for development and production database switching - [Deploying Omni: Single instance deployment with git and dbt](https://docs.omni.co/guides/deployment/single-instance-git-dbt.md): Set up and manage Omni in a single instance, single connection environment with git version control and dbt integration — the most common Omni deployment pattern. - [Connect a chat agent to Omni AI for embed experiences](https://docs.omni.co/guides/embed/ai-chat-agent.md): Use the Omni AI API or MCP Server to connect a custom chat agent that queries data on behalf of embed users, scoped to each user's permissions. - [Embed environment architecture](https://docs.omni.co/guides/embed/embed-development-production-setup.md): How to structure staging and production Omni instances for external embed, including the CI/CD workflow, content promotion, and permission guardrails. - [Embedding Omni into internal applications](https://docs.omni.co/guides/embed/omni-in-internal-app.md): Embed Omni into internal apps such as wikis, Salesforce, Notion, or any other website that supports iframes. - [Embedding Omni in your Notion instance](https://docs.omni.co/guides/embed/omni-in-notion.md): Embed Omni dashboards in Notion documents using iframes. - [Embedding Omni in your Salesforce instance](https://docs.omni.co/guides/embed/omni-in-salesforce.md): Embed static and dynamic Omni dashboards in Salesforce using Visualforce pages and tabs. - [Triage 'Failed to fetch' browser errors](https://docs.omni.co/guides/errors/failed-to-fetch.md): Diagnose and resolve Failed to fetch browser errors caused by extensions, firewalls, proxies, or VPNs. - [Resolve 'Join fans out data without primary key' errors](https://docs.omni.co/guides/errors/fan-out-without-pk.md): Learn to account for fan out in table joins. - [Migrating Looker dashboards to Omni](https://docs.omni.co/guides/migrations/looker-to-omni-skill.md): Programmatically migrate Looker dashboards to Omni with Python, agent skills, and the Omni CLIs. - [Set up a custom calendar](https://docs.omni.co/guides/modeling/custom-calendars.md): Group, filter, and compare dates by your own fiscal periods, such as a retail 4-5-4 calendar. - [Improving date flexibility with templated filters](https://docs.omni.co/guides/modeling/date-flexibility-templated-filters.md): A guide to going beyond the out of the box controls to give users more flexibility to manipulate dates by utilizing templated filters. - [Customizing filter suggestions](https://docs.omni.co/guides/modeling/filter-suggestions.md): Learn where filter suggestion values come from, and how to change their source, faceting, and caching behavior. - [Join to the same table twice](https://docs.omni.co/guides/modeling/join-to-same-table.md): Use aliases to build tables named with language already familiar to your users. - [Local development with the model editor CLI](https://docs.omni.co/guides/modeling/local-development.md): Edit Omni model YAML files locally in your preferred editor with real-time sync back to Omni. - [Organize fields with nested groups](https://docs.omni.co/guides/modeling/nested-field-groups.md): Keep workbook field browsers navigable by grouping related fields. - [Preview dbt changes in Omni before merging to production](https://docs.omni.co/guides/modeling/preview-dbt-changes.md): Preview dbt model changes, including net-new tables and views, in an Omni development environment before merging to production. - [Push Omni topics to Databricks as metric views](https://docs.omni.co/guides/modeling/push-to-databricks-metric-views.md): Use the Omni Python SDK to generate Databricks metric view DDL from an Omni topic. - [Safely rename a git-connected shared model](https://docs.omni.co/guides/modeling/rename-git-connected-shared-model.md): Rename a git-connected shared model's display name without breaking its git sync folder or losing synced files. - [Apply a filter to a single measure](https://docs.omni.co/guides/modeling/single-field-filter.md): Add a filter to just one measure in a given query. - [Using Level of Detail functions for cohorting analysis](https://docs.omni.co/guides/patterns/build-cohort-analysis-using-level-of-detail.md): Utilize Level of Detail fields to create a cohort analysis for determining how different cohorts of user perform over time. - [Using AI to build a cohort analysis with month offset](https://docs.omni.co/guides/patterns/cohort-analysis-month-offset-ai.md): Use the Omni Agent to create a cohort analysis that tracks user behavior over time using monthly offsets. - [Building a dynamic pivot query view](https://docs.omni.co/guides/patterns/dynamic-pivot-query-view.md): Build a query view that cross-joins sparse key-value data so every entity has a row for every attribute, then exposes it as a pivotable query view. - [Choosing between LOD fields, window functions, CTEs, and Excel](https://docs.omni.co/guides/patterns/level-of-detail-build-comparison.md): Compare Omni LOD fields, SQL window functions, CTEs, and Excel for multi-level aggregation and cohort analysis. - [Report opening and closing balances from a ledger](https://docs.omni.co/guides/patterns/opening-closing-balances.md): Turn a transactional ledger into opening, closing, and movement balances that stay correct across any dimension, using a daily snapshot and omni_dimensionalize. - [Optimizing AI context for fintech and banking](https://docs.omni.co/guides/patterns/optimizing-ai-context-for-fintech.md): A hands-on guide to configuring AI context at the model, topic, and view levels using a fintech example. - [Optimizing AI context for retail and ecommerce](https://docs.omni.co/guides/patterns/optimizing-ai-context-for-retail-and-ecommerce.md): A hands-on guide to configuring AI context at the model, topic, and view levels using a retail and ecommerce example. - [Optimizing AI context for SaaS and sales operations](https://docs.omni.co/guides/patterns/optimizing-ai-context-for-saas-and-sales-operations.md): A hands-on guide to configuring AI context at the model, topic, and view levels using a SaaS and Salesforce example. - [Optimizing AI context for support operations](https://docs.omni.co/guides/patterns/optimizing-ai-context-for-support-operations.md): Configure AI context across model, topic, and view levels to optimize Omni's AI for support operations. - [Optimizing AI context for Media and AdTech](https://docs.omni.co/guides/patterns/optimizing-ai-context-media-and-adtech.md): A hands-on guide to configuring AI context at the model, topic, and view levels using a Media and AdTech example. - [Use public images in Omni content and AI branding](https://docs.omni.co/guides/patterns/public-image-urls.md): Customize your Omni content and AI agent branding with publicly accessible images. - [Building a basic cohort analysis with pivots](https://docs.omni.co/guides/patterns/simple-cohort-analysis-pivot.md): Build a cohort analysis using pivots in Omni to track user retention, engagement, and behavior over time. - [Cohort analysis using a thin spine](https://docs.omni.co/guides/patterns/spine-cohort-analysis.md): Build cohort analyses using thin dimensional spines. - [Thin dimensional spine for multi-fact event analysis](https://docs.omni.co/guides/patterns/thin-dimension-spine.md): Analyze multiple event streams together without fanout using a thin dimensional spine. - [Add links to visualizations](https://docs.omni.co/guides/visualizations/add-links.md): Encourage self-service data exploration by adding links to other dashboards to your visualizations. - [Combine GeoJSON files with AI to build custom region maps](https://docs.omni.co/guides/visualizations/combine-geojson-files-with-ai.md): Merge separate GeoJSON boundary files with an AI coding tool to build region maps that span geographies Omni doesn't support out of the box. - [Customize drill fields](https://docs.omni.co/guides/workbooks/custom-drill-fields.md): Curate the columns displayed to users when drilling. - [Point-in-time snapshots with parameters](https://docs.omni.co/guides/workbooks/snapshots-with-parameters.md): How to use Mustache syntax to dynamically modify a query view ## Library - [Library](https://docs.omni.co/library/index.md): Browse Omni Apps, Skills, and Routines by line of business and vertical. Copy a rebuild prompt, skill YAML, or routine prompt straight into your own Omni instance. - [Developers (351 pages)](https://docs.omni.co/_llms/developers.md): Documentation for Developers. - [Product updates (160 pages)](https://docs.omni.co/_llms/product-updates.md): Documentation for Product updates. ## OpenAPI Specs - [openapi](/api/openapi.yaml) > The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages. ## Indexes - [Docs (527 pages)](https://docs.omni.co/_llms/docs.md): Documentation for Docs. - [Admin (121 pages)](https://docs.omni.co/_llms/admin.md): Documentation for Admin. - [Developers (351 pages)](https://docs.omni.co/_llms/developers.md): Documentation for Developers. - [Developers / REST APIs (234 pages)](https://docs.omni.co/_llms/developers/rest-apis.md): Programmatically interact with Omni - [Product updates (160 pages)](https://docs.omni.co/_llms/product-updates.md): Documentation for Product updates. - [Product updates / Demos (156 pages)](https://docs.omni.co/_llms/product-updates/demos.md): Weekly updates of upcoming and experimental features This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.