DATA OPS

Auto-Pause Scheduled Refreshes for Idle Dashboards to Recover Cost

Daily detects dashboards with active scheduled refreshes but no views in 30 days, pauses their refresh jobs via webhook.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily schedule starts the cost-recovery check
  • ActionJoin refresh schedules to last-view dates in SnowflakeSnowflakeSnowflake
  • LogicFilter to scheduled-but-unviewed dashboards (30+ days)
  • ActionPause the scheduled refresh via BI admin webhookHTTP webhook
  • OutputNotify last viewer in Slack with a resume optionSlack
  • ActionLog paused state and saved compute to SnowflakeSnowflakeSnowflake

What it does

This workflow targets the most direct cost of dashboard decay: warehouse spend on refreshing data that nobody looks at. It finds dashboards still refreshing on a schedule despite 30 days of zero views, pauses the refresh, and tells the last viewer so they can resume if needed.

When to use it

Run this when scheduled refreshes are quietly burning compute on abandoned dashboards. Pausing (not deleting) keeps the asset intact while immediately stopping the bleed, making it a low-risk first lever before full retirement.

How it works

  1. 1A daily schedule starts the cost-recovery check.
  2. 2Snowflake is queried to join active refresh schedules against last-view dates per dashboard.
  3. 3A filter keeps dashboards refreshing on a schedule but unviewed for 30+ days.
  4. 4For each, an HTTP webhook call to the BI tool's admin API pauses the scheduled refresh.
  5. 5Slack notifies the last viewer that refresh was paused, with a one-click way to resume.
  6. 6The paused state and estimated saved compute are logged back to Snowflake.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect HTTP webhookTrigger any URL on agent actions.
  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.