> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Pushing Omni topics to Snowflake

> Use the omni-to-snowflake-semantic-view agent skill to convert an Omni topic into a Snowflake semantic view definition.

The [`omni-to-snowflake-semantic-view` agent skill](https://github.com/exploreomni/omni-agent-skills/tree/main/skills/omni-integrations/skills/omni-to-snowflake-semantic-view) converts an Omni topic into a Snowflake semantic view. Run it in an AI agent such as Claude Code, Cursor, OpenAI Codex, or Snowflake Cortex Code. See [Agent skills](/developers/agent-skills) for installation.

The skill:

1. Reads the topic, its views, and its relationships through the Omni API.
2. Translates them into a semantic view YAML definition — dimensions, time dimensions, facts, metrics, filters, and relationships, with descriptions and synonyms.
3. Creates the semantic view in Snowflake with [`SYSTEM$CREATE_SEMANTIC_VIEW_FROM_YAML`](https://docs.snowflake.com/en/sql-reference/stored-procedures/system_create_semantic_view_from_yaml), using your Snowflake connection or CLI.

After the semantic view exists in Snowflake, run a [schema refresh](/modeling/develop/schema-refreshes) to import it as a topic. See [Setup](/connect-data/snowflake-semantic-views#setup) for the grants and connection settings the import needs.

## Next steps

* Learn [what Omni creates for each semantic view](/connect-data/snowflake-semantic-views/sync/trigger-sync)
* Look up [what each part of a definition becomes in Omni](/connect-data/snowflake-semantic-views/sync/metadata-reference)
* Resolve [schema refresh warnings and query messages](/connect-data/snowflake-semantic-views/sync/trigger-sync#troubleshooting)
