DEVOPS

Reclaim Idle Preview Deploys With No Recent Traffic

Each night queries preview-deployment access logs in Postgres, flags previews with zero traffic past an idle threshold, warns owners in Microsoft Teams.

CategoryDevOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule fires
  • ActionQuery idle previews from access logsPostgreSQLPostgres
  • LogicFilter previews idle past threshold
  • ActionResolve owner from GitHub metadataGitHubGitHub
  • ActionWarn owner in Teams + stamp deadlineMicrosoft Teams
  • OutputDelete still-idle previews via VercelVercelVercel

What it does

Retires preview deployments based on actual usage rather than calendar age. A preview that has served no requests for the idle threshold is treated as abandoned, its owner is warned, and it is deleted if it stays idle.

When to use it

When some long-lived previews are still in active use while others sit untouched, so a flat TTL would either kill useful environments or keep dead ones. Idle-based reaping targets exactly the abandoned ones.

How it works

  1. 1A nightly schedule starts the run.
  2. 2Query Postgres access-log aggregates for last-request timestamps per preview deployment.
  3. 3A filter selects previews idle longer than the threshold (e.g. 10 days of zero traffic).
  4. 4For each, resolve the owner from the GitHub deployment metadata.
  5. 5Post a warning in the owner's Microsoft Teams channel with the idle duration and deletion date, and stamp the grace deadline in Postgres.
  6. 6On a subsequent run, delete previews still idle past their deadline via the Vercel API and confirm reclaim in Teams.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect PostgresAny Postgres URL — query, write, migrate.
  2. 2
    Connect GitHubRepos, issues, pull requests, actions.
  3. 3
    Connect Microsoft TeamsChannels, chats, files.
  4. 4
    Connect VercelDeploys, runtime logs, analytics.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.