CTA: Snowflake Cortex Eligibility Verification Runbook
Purpose: Verify the CTA Snowflake account has Cortex available and document any limits.
Ticket: CTA-120
Memo ref: CTA Snowflake Cortex 3-Month Ramp-Up — “Recommended next steps” #2
Audience: CTA IT or Snowflake account owner (ACCOUNTADMIN or equivalent).
1. Prerequisites
- Access to the CTA Snowflake account with a role that can run account-level commands (e.g.
ACCOUNTADMINor role with equivalent privileges). - Optional: Access to Account Usage (e.g.
ACCOUNT_USAGEschema) to check usage history and spending.
1.1 How to run the check: Snowflake CLI only (recommended)
Use the Snowflake CLI (snow sql) to run the verification SQL. No need for Cortex CLI or Cortex Code CLI for this ticket.
| Tool | Use for this ticket? | Notes |
|---|---|---|
Snowflake CLI (snow sql -c <connection>) | Yes | Run the SQL below; same as running in Snowflake Worksheets. Use your existing CTA connection (e.g. cta or cta_cursor). |
| Cortex CLI / Cortex Code CLI | No | Optional in Month 3 for automation/scripting (per memo). Not required to verify “is Cortex available?” |
1.2 Login first: CTA Snowflake uses Okta SSO
CTA’s Snowflake account uses Okta for authentication. You must log in (via browser) before running any queries.
- If you already have a CTA connection with
authenticator = "externalbrowser"in your Snowflake CLI config: the first time you runsnow sql -c cta ..., the CLI will open your browser and send you to Okta. Complete the Okta login; the session is then used for subsequent commands. - If the connection is not set up: run
snow connection add, enter the connection name (e.g.cta), account identifier, and your CTA Snowflake username. When prompted for authenticator, useexternalbrowser(browser-based SSO). No password is required; Okta handles auth in the browser. - Optional sanity check after login:
snow connection test -c ctato confirm the connection works.
Then run the verification commands below. If the browser does not open, ensure your default browser is set; on some setups adding --region <region> (e.g. us-east-1) can help.
From your machine (after Okta login via the steps above):
# Step 2.1 — list Cortex functions (first run may open Okta in browser)
snow sql -c cta -q "SHOW FUNCTIONS LIKE '%CORTEX%' IN ACCOUNT;"
# Step 2.2 (optional) — minimal test (uses credits)
snow sql -c cta -q "SELECT SNOWFLAKE.CORTEX.SUMMARIZE('Cortex is available.');"Replace cta with your connection name if different (e.g. cta_cursor). Alternatively, run the same SQL in Snowflake web UI → Worksheets (log in via Okta there). Record results in the findings template.
2. Verification Steps
Run these in Snowflake (Worksheets or Snowflake CLI: snow sql -c cta -q "..."). Record results in the Cortex eligibility findings template.
2.1 List Cortex functions available in the account
Cortex is enabled if Cortex-related functions are visible.
SHOW FUNCTIONS LIKE '%CORTEX%' IN ACCOUNT;- Pass: One or more rows returned (e.g.
SNOWFLAKE.CORTEX.SUMMARIZE,SNOWFLAKE.CORTEX.COMPLETE,SNOWFLAKE.CORTEX.AI_COMPLETE, etc.). - Fail: No rows or error (e.g. “Cortex not available for this account/edition”).
2.2 (Optional) Check Cortex AI Functions availability
If your account uses the newer Cortex AI Functions (e.g. AI_COMPLETE, AI_SUMMARIZE_AGG):
SHOW FUNCTIONS LIKE '%AI_%' IN SCHEMA SNOWFLAKE.CORTEX;Or run a minimal test (uses credits):
SELECT SNOWFLAKE.CORTEX.SUMMARIZE('Cortex is available.');
-- or, if available: SELECT SNOWFLAKE.CORTEX.AI_SUMMARIZE_AGG('test');- Pass: Query succeeds and returns a short summary.
- Fail: Error (e.g. entitlement, region, or edition not supported).
2.3 Check USE AI FUNCTIONS privilege (Feb 2026+)
Users need USE AI FUNCTIONS on the account and the CORTEX_USER role to use Cortex AI Functions.
-- As ACCOUNTADMIN: see who has USE AI FUNCTIONS
SHOW GRANTS ON ACCOUNT;
-- Look for "USE AI FUNCTIONS" in the output.
-- See if PUBLIC (or your reporting role) has it
SHOW GRANTS TO ROLE PUBLIC;- Note: If
USE AI FUNCTIONSwas revoked from PUBLIC, only roles explicitly granted this privilege can use Cortex AI Functions. Document which roles have it.
2.4 (Optional) Cortex usage and limits
If you have access to Account Usage:
-- Recent Cortex AI Functions usage (if any)
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY
ORDER BY START_TIME DESC
LIMIT 20;- Note: If the view is empty, no Cortex usage has been recorded yet. Document whether spending/credit limits are configured (e.g. in Snowflake admin UI or via alerts).
3. What to document (limits and constraints)
Capture and share with Brainforge:
| Item | Where to find / what to note |
|---|---|
| Cortex available? | Yes/No — from step 2.1 (and 2.2 if run). |
| Snowflake edition | e.g. Enterprise, Business Critical. Affects which Cortex features are available. |
| Region | Account region (Cortex availability can vary by region). |
| Entitlements / contract | Any contract or entitlement notes from your Snowflake rep (e.g. Cortex Analyst, LLM functions included). |
| Usage or credit limits | Any account-level caps, alerts, or budgets for Cortex/AI usage. |
| Roles with Cortex access | If USE AI FUNCTIONS is not on PUBLIC, list roles that have it. |
| Blockers | Opt-out, compliance, or policy restrictions that affect Cortex use. |
Use the findings template to record these and share the filled-in doc with Brainforge (e.g. in shared drive, Slack, or Linear).
4. References
- Snowflake Cortex AI Functions (LLM functions)
- CORTEX_FUNCTIONS_USAGE_HISTORY
- Managing Cortex AI Function costs
- CTA memo:
knowledge/clients/cta/snowflake-cortex-ramp-up-memo.md