Accelerators

DBT Cortex Agents

Agents as code, deployed on Snowflake.

Cortex Agents, Cortex Search services, and Snowflake-managed MCP servers usually live outside your pipelines: built by hand, versioned nowhere. The dbt Cortex Agent Accelerator, a proprietary OneSix dbt package, turns each into a versioned dbt model, so every agent, tool, and service ships through the same CI/CD pipeline as your code.

The stakes

Why agents drift from the pipeline

Most teams build Cortex Agents by clicking through Snowflake or running one-off SQL. It works until it doesn't. The agent points at a semantic view that hasn't rebuilt. The search index goes stale. No one can trace a regression to a change. And every new Snowflake feature means another manual redeploy.

The risk compounds once real data is involved. One-off connectors create shadow access paths, break role-based access control, and leave no audit trail. That's the difference between a lab demo and something safe to run in production.

THE BUILD

The whole Cortex agentic stack, under one pipeline

One dbt package that brings your entire Cortex stack under version control, governance, and dependency-aware deployment.

What's included

Agents as first-class dbt models

Deploy Cortex Agents, Cortex Search services, and Snowflake-managed MCP servers as dbt models. Define them once, run them with dbt run, manage them like everything else in your project.

Raw Snowflake spec, no package lag

The model body is the raw Snowflake YAML, passed to Snowflake verbatim. Every current and future feature works the day it ships. No package updates, no waiting for a wrapper to catch up.

Correct deployment order, enforced

ref() wires agents and MCP servers into the dbt DAG, so they always deploy after the semantic views and search indexes they depend on. Upstream first, agent last, every run.

Versioning, idempotency, and feedback built in

Agent versioning keeps full change history. Idempotent deploys make re-runs safe. A shared feedback table captures user ratings and comments with no extra setup.

Process

How it works

01

Assess

Review your Cortex environment and map the agents and MCP servers you need.

02

Package

Install the package, model your agents and search services, wire them into the DAG.

03

Deploy

Run the pipeline. Everything builds in dependency order, versioned and idempotent.

04

Handover

Documentation and a working pattern your team extends on its own.

Delivery

Inside the engagement

Delivered as part of a Data Foundations or Artificial Intelligence engagement, on an environment configured to Snowflake best practice. It slots into the dbt project you already run: no new orchestration, no separate deployment path for AI.

FAQs

Questions we hear

Do we need to learn a new spec language?

minus iconPlus icon

No. The model body is the raw Snowflake agent or MCP server YAML from the CREATE AGENT reference. If you can write a Snowflake spec, you can write the model.

What happens when Snowflake adds a new agent feature?

minus iconPlus icon

It works immediately. The spec is passed through verbatim, so there's no wrapper to update and no package upgrade required.

How does versioning work?

minus iconPlus icon

By default, every dbt run preserves history: the package updates the live version with the compiled spec and commits a new named version. Disable it per-model for fast dev iteration, and dbt run --full-refresh resets history for a clean slate.

Are re-runs safe?

minus iconPlus icon

Yes. Deploys are idempotent. Cortex Search services are handled with extra care, altering the index in place on steady-state runs so incremental refresh is never discarded.

How do we capture user feedback?

minus iconPlus icon

The package provisions a shared feedback table and an AGENT_SUBMIT_FEEDBACK procedure any agent can call. Ratings, comments, and conversation context land in one table across all your agents, with no custom logging to build.

Does it handle MCP servers and search services too?

minus iconPlus icon

Yes. The same package ships materializations for both. MCP servers use the raw-spec passthrough; search services build from a normal dbt SELECT. Both wire into the DAG with ref() so the whole stack deploys together.

How does this keep our data governed?

minus iconPlus icon

Every agent, tool, and MCP server is a Snowflake-managed object, so RBAC applies to all of them: scoped access, full audit trail, no shadow paths. No data leaves Snowflake and no middleware sits in between.