DEVOPS
Stale Vercel Preview Reaper with Owner Grace Window
Finds Vercel preview deployments older than their TTL, pings the deploy owner in Slack with a grace window, then deletes any preview still stale after the window expires.
How it runs
The automated pipeline, trigger to output.
- TriggerDaily schedule fires
- ActionList Vercel preview deployments + agesVercel
- LogicFilter previews past TTL and unpinned
- ActionResolve deploy owner from GitHub commitGitHub
- ActionDM owner with grace-window deadlineSlack
- ActionPersist warning + deadline in PostgresPostgres
- OutputDelete previews past grace, notify ownerVercel
What it does
Keeps your Vercel preview environments tidy by retiring deployments that have outlived their time-to-live. Owners get a heads-up and a grace window to keep a preview alive before it is torn down, so nothing important vanishes silently.
When to use it
When a busy team accumulates dozens of orphaned preview deploys per week, burning build minutes and cluttering the dashboard. Run it on a daily schedule to enforce a consistent TTL policy without manual cleanup.
How it works
- 1A daily schedule fires the workflow.
- 2List all Vercel preview deployments and read each one's created timestamp.
- 3A filter keeps only previews older than the configured TTL (e.g. 7 days) that are not pinned.
- 4For each stale preview, look up the Git author from the linked GitHub commit to find the owner.
- 5Send the owner a Slack DM naming the preview, its age, and the deletion deadline (e.g. 48h grace).
- 6Record the warning and deadline in Postgres so the next run knows the grace window has started.
- 7On a later run, any preview past its grace deadline is deleted via the Vercel API and the owner is notified it was reaped.
Set it up
What you configure once, before turning it on.
- 1Connect VercelDeploys, runtime logs, analytics.
- 2Connect GitHubRepos, issues, pull requests, actions.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Connect PostgresAny Postgres URL — query, write, migrate.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More DevOps workflows
Hugging Face Spaces idle-runtime sweep with auto-pause
On a schedule, scans all Hugging Face Spaces for ones running idle past a threshold, pauses them to stop billing, and posts a Slack summary with the estimated monthly savings.
Slack-approved pause for idle Hugging Face Spaces
On a daily scan it finds idle paid Spaces and posts an interactive Slack approval; on approve it pauses the Space and logs the decision to a GitHub issue audit trail.
Generate a weekly de-flake report and assign Linear cleanup tickets
On a weekly schedule, aggregates the current quarantine manifest and recent flake history, builds a prioritized report.
Block costly Hugging Face Space hardware upgrades in PR review
When a pull request changes a Space's hardware config, it estimates the new monthly cost and posts a GitHub PR comment that flags upgrades crossing a budget ceiling.
Auto-release tests from quarantine once they prove stable
Triggered by a webhook from a nightly stability runner, checks whether quarantined tests have passed enough consecutive runs, removes the stable ones from quarantine in GitHub.
Quarantine a test on demand from a PR comment command
Triggered when an engineer comments a quarantine command on a pull request, validates the test name, commits the quarantine change to that PR branch, opens a tracking issue.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
