DATA OPS

Flag runaway Snowflake queries and page the author

Checks Snowflake every few minutes for in-flight or just-finished queries that burned more credits than a threshold.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerEvery 5 minutes schedule
  • ActionRead recent QUERY_HISTORY and estimate creditsSnowflakeSnowflake
  • LogicFilter queries over credit threshold, drop already-alerted
  • ActionOpen PagerDuty incident per offenderPagerDutyPagerDuty
  • OutputDM the query author on SlackSlack

What it does

Polls Snowflake's `QUERY_HISTORY` on a short interval for queries whose credits-consumed (derived from elapsed time and warehouse size) exceed a configurable threshold. For each offender it opens a PagerDuty incident tagged with the author and warehouse, and sends the author a direct Slack message with the query ID and cost.

When to use it

Use this for warehouses where a single accidental cross-join or unbounded scan can cost hundreds of dollars in minutes. Near-real-time detection lets on-call cancel or coach before the credits are gone, rather than discovering it on next month's invoice.

How it works

  1. 1A scheduled trigger runs every 5 minutes.
  2. 2A Snowflake action selects recent rows from `QUERY_HISTORY` and computes estimated credits per query.
  3. 3A logic step filters to queries above the credit threshold and de-duplicates ones already alerted on.
  4. 4A PagerDuty action opens an incident per offending query, keyed to avoid duplicates.
  5. 5A Slack action DMs the query author with the cost and a link to the query profile.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.