{
  "id": 10043078,
  "title": "I Built a Snowflake RAG Assistant That Actually Works in Production",
  "url": "https://urgent.news/2026/09/26/i-built-a-snowflake-rag-assistant-that-actually-works-in-production",
  "topic": "ai",
  "section": "AI",
  "published": "2026-09-26T18:45:20.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/artemooon/i-built-a-snowflake-rag-assistant-that-actually-works-in-production-1ogo"
  },
  "original_language": "en",
  "account": "The problem presented here is the need to build a help assistant capable of reducing the number of support tickets raised by users. The user's company runs a complex B2B SaaS product with numerous features and business processes. To make the assistant effective, it must understand user questions and retrieve relevant information from internal documents.\n\nThe proposed solution involves using Snowflake's existing agentic ecosystem. The main components of the proposed architecture include Snowflake Agent, Cortex Search, Agent tools, Snowflake tables, Stages, and Snowflake Openflow.\n\nThe Snowflake Agent serves as the controller that decides how to answer and what tool to use, incorporating instructions, format rules, and auto-orchestration. Cortex Search is tasked with storing and retrieving embeddings of the product knowledge, while Agent tools enable the agent to access and utilize Cortex Search to retrieve the required context. Snowflake tables are designed to store product knowledge in a normalized, structured form, with relevant columns such as content being used as the SEARCH_TEXT source for Cortex Search. Stages are utilized to store raw documents, while Snowflake Openflow enables syncing documents from Microsoft SharePoint into Snowflake Stages.\n\nThe implementation begins with access control for Snowflake, ensuring that the current role has the necessary permissions to create new objects like DATABASES, SCHEMAS, and Cortex Search Service. Ask someone with ACCOUNTADMIN access to grant the required roles. A new set of roles can then be established for managing objects.\n\nNext, create a table named PRODUCT_DATA to store the product knowledge. This table will serve as the basis for the data passed to the agent when a user asks a question. The table's structure includes columns such as DOC_PATH, DOC_TYPE, CHUNK_INDEX, CONTENT, and INGESTED_AT.\n\nSubsequently, create the Cortex Search Service, which will keep the service synchronized with the PRODUCT_DATA table and generate embeddings asynchronously. Choose an appropriate EMBEDDING_MODEL based on the languages used in the product knowledge, ensuring semantic retrieval quality is maintained.\n\nCreate the Snowflake Agent, configuring it with appropriate instructions, budget, and other settings. This agent will be responsible for answering user questions by retrieving relevant information from the internal documents.",
  "summary": "Table of Contents The problem The architecture The Implementation Creating an Agent Syncing files to Sharepoint using Openflow Creating a stream and task to run a procedure automatically Testing an Agent Conclusion The problem I was given a task to build a help assistant that could reduce the number of support tickets raised by our users. We have a complex B2B SaaS product with many features,…",
  "key_points": [
    "Snowflake Agent controls assistant, using instructions and format rules",
    "Cortex Search stores embeddings of product knowledge for retrieval",
    "Snowflake tables structure product knowledge for agent's context"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}