Skip to main content

Overview

Snowflake integration allows IncidentFox to query historical data, enrichment tables, and analytics to provide deeper context during investigations. Common use cases:
  • Query historical incident patterns
  • Look up customer or service metadata
  • Access aggregated metrics not in real-time systems
  • Retrieve business context for impact assessment

Prerequisites

  • Snowflake account with API access
  • User account with SELECT permissions on relevant tables
  • Knowledge of your data schema

Configuration

Step 1: Create a Service Account

  1. Log in to Snowflake as an admin
  2. Create a dedicated user for IncidentFox:

Step 2: Identify Your Account

Your Snowflake account identifier is in the format:
Example: acme.us-west-2

Step 3: Add to IncidentFox

Via Web UI:
  1. Go to Team Console > Integrations
  2. Click Add Integration > Snowflake
  3. Enter:
    • Account identifier
    • Username
    • Password (or key pair)
    • Default warehouse
    • Default database (optional)
    • Default schema (optional)
  4. Click Test Connection
  5. Save
Via Configuration:

Available Tools

query_snowflake

Execute SQL queries against Snowflake.
Parameters:
  • query - SQL query to execute
  • warehouse - Warehouse to use (optional, uses default)
  • timeout - Query timeout in seconds

get_snowflake_schema

Retrieve table schemas for query building.

Example Queries

Historical Error Patterns

Customer Impact Assessment

Deployment Correlation

Use Cases

Enriching Incident Context

When investigating an incident, IncidentFox can query Snowflake to:
  1. Get historical baseline - “Is this error rate normal?”
  2. Identify patterns - “Has this happened before?”
  3. Assess business impact - “How many customers are affected?”
  4. Correlate with changes - “What deployed recently?”

Example Investigation Flow

For optimal IncidentFox usage, consider creating these Snowflake tables:

Error Summary Table

Deployment History

Service Metadata

Query Guardrails

IncidentFox applies safety limits to Snowflake queries:

Configuring Limits

Troubleshooting

Connection Failed

Symptom: “Unable to connect to Snowflake” Solutions:
  1. Verify account identifier format
  2. Check username/password
  3. Ensure warehouse is running (not suspended)
  4. Verify network allows outbound to Snowflake

Permission Denied

Symptom: “Insufficient privileges to execute query” Solutions:
  1. Verify role has SELECT on required tables
  2. Check role is granted to user
  3. Verify database/schema usage grants

Query Timeout

Symptom: “Query execution timed out” Solutions:
  1. Optimize query (add filters, limit scope)
  2. Increase timeout setting
  3. Use a larger warehouse
  4. Pre-aggregate data into summary tables

Best Practices

Create summary tables for common queries to reduce execution time and cost.
  1. Use read-only role - Never grant write permissions
  2. Set warehouse auto-suspend - Control costs
  3. Pre-aggregate data - Create hourly/daily summaries
  4. Index timestamp columns - Most queries filter by time
  5. Limit query scope - Always include time bounds

Security Considerations

  • Use key pair authentication when possible
  • Store credentials in secrets manager
  • Use role-based access control
  • Enable Snowflake audit logging
  • Regularly review access patterns

Next Steps

AWS

Connect AWS CloudWatch

Coralogix

Set up log search