Snowflake Intelligence (Cortex Agents)
Monitor Snowflake Cortex Agents in Monte Carlo for full agent observability
Monte Carlo's Agent Observability provides full visibility into your Snowflake Intelligence Cortex Agents. Cortex Agents log detailed trace data natively to Snowflake, and Monte Carlo reads this data directly β giving you trace-level visibility, out-of-the-box dashboards, and full agent monitor coverage without deploying additional infrastructure or modifying your agent code.
What is Snowflake Intelligence?
Snowflake Intelligence is Snowflake's managed platform for building and deploying AI agents powered by Cortex. Teams can create agents that answer questions, execute SQL, search internal data, and interact with tools β all within Snowflake's environment. Cortex Agents log detailed trace data natively, including conversation history, tool execution, LLM planning, and response generation.
Why Connect Snowflake Intelligence to Monte Carlo?
Connecting your Snowflake Intelligence agents to Monte Carlo gives you full observability into how your agents are behaving in production. Monte Carlo reads Cortex Agent trace data directly from Snowflake, so there's nothing to deploy or instrument.
Connecting Snowflake Intelligence
Now that we know the value connecting Snowflake Intelligence to Monte Carlo can bring, here are the necessary steps to set up the integration.
PrerequisitesAn existing Snowflake integration in Monte Carlo. Your Snowflake account must be connected to Monte Carlo with a service account configured. If you haven't set this up yet, see our Snowflake integration guide.
You will need permissions to use the
ACCOUNTADMINrole on Snowflake to grant the required access.
Granting permissions
Monte Carlo's service account needs the following privileges to access Cortex Agent trace data:
MONITORprivilege on the Agent object(s) you want to observe- The
SNOWFLAKE.CORTEX_USERdatabase role
Use the SQL snippet below to grant these permissions. Before using the snippet, replace <monte_carlo_role> with the Snowflake role used by your Monte Carlo service account.
USE ROLE ACCOUNTADMIN;
GRANT MONITOR ON AGENT <database_name>.<schema_name>.<agent_name> TO ROLE <monte_carlo_role>;
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO ROLE <monte_carlo_role>;-- To confirm your Monte Carlo service account has the correct access, run the following query using the Monte Carlo service account role:
SELECT * FROM TABLE(
SNOWFLAKE.LOCAL.GET_AI_OBSERVABILITY_EVENTS(
'<database>',
'<schema>',
'<agent_name>',
'CORTEX AGENT'
)
)
-- If this query returns trace data, your permissions are set up correctly.To grant access to all future agents in a schema:
GRANT MONITOR ON FUTURE AGENTS IN SCHEMA <database_name>.<schema_name> TO ROLE <monte_carlo_role>;For full details on Cortex Agent monitoring permissions, see Snowflake's access control documentation.
Adding the agent in Monte Carlo
- In Monte Carlo, navigate to Settings β Agent Observability
- Click Add
- Toggle the Agent Type to Platform Agent
- Select a Snowflake Warehouse: Choose the warehouse where your target Cortex Agent(s) are available
- Select an Agent: Once the warehouse is selected, Monte Carlo will discover available Cortex Agents that it has permissions to access. Select the agent by its name
- Click Import to complete the connection
Once connected, Monte Carlo begins ingesting trace and span data and you're ready to create Agent Monitors.
Updated about 2 hours ago
