All templates

Automated Fly.io Idle Resource Audits

Every Monday, WebRun opens the Fly.io dashboard, lists every app with its machines and volumes by region, flags machines left stopped, volumes with no machine attached, and apps serving no traffic, then posts a costed cleanup list to Slack with the headline number sent to Telegram.

Runs on WebRun · Strict Lockdown policy
Every Monday at 8:00 AM WebRunorchestrates each step
1 Fly.io audit apps, machines, and volumes
2 Slack post the costed cleanup list
3 Telegram send the headline number
In short

How do I find idle Fly.io machines and volumes I am still paying for?

WebRun opens your Fly.io dashboard every Monday, walks each app's machines and volumes by region, and flags what is stopped, unattached, or serving no traffic. It posts a costed cleanup list to Slack and the headline idle spend to Telegram, so your monthly bill matches what is actually running.

  • Idle spend is named with a number every Monday
  • Orphaned volumes stop billing quietly for months
  • The kill list arrives costed and ranked, so cleanup takes minutes

Built for platform engineers · startup founders · DevOps teams · solo developers

Step by step

What does WebRun do on every run?

The exact actions WebRun takes, in order - in plain language, so you can adjust anything.

  1. WebRun signs in and gets to work

    Opens fly.io/dashboard in a real browser with your saved login - no setup, no API keys.

  2. 1
    Fly.io - audit apps, machines, and volumes
    fly.io
    WebRun in Fly.io: audit apps, machines, and volumes
    WebRun opens Fly.io to audit apps, machines, and volumes.
    • Open the dashboard and list every app on the organization
    • For each app, read its machines, their state, and their region
    • List volumes and mark any with no machine attached
    • Read the usage and billing view to put a monthly cost against each item

    Done when Every idle machine and orphaned volume is listed with its cost.

  3. 2
    Slack - post the costed cleanup list
    slack.com
    WebRun in Slack: post the costed cleanup list
    WebRun opens Slack to post the costed cleanup list.
    • Post the cleanup list to the platform channel, most expensive first
    • Group it into stopped machines, unattached volumes, and apps with no traffic
    • Show the app, region, and monthly cost for each line
    • Leave every destroy to a human. WebRun proposes the list and deletes nothing

    Done when The platform channel has this week's costed kill list.

  4. 3
    Telegram - send the headline number
    telegram.org
    WebRun in Telegram: send the headline number
    WebRun opens Telegram to send the headline number.
    • Send the total monthly spend sitting on idle resources
    • Include the count of items and the single biggest line
    • Stay quiet on weeks where nothing new went idle

    Done when You know this week's idle spend without opening the dashboard.

Run settings

How is each run configured?

Starting pageWhere Chrome opens at the start of each run
fly.io/dashboard
ScheduleRuns automatically on this cadence
Every Monday at 8:00 AM
DeliveryHow each run's result reaches you
Cleanup list · Slack
OutputWhat each run produces - A costed list of stopped machines, unattached volumes, and quiet apps, with the region and monthly cost of each.
Text
Setup & safety

Secure by default

Connect once, stays signed in

WebRun signs in once and keeps each session in a persistent environment, so every run picks up right where it left off.

Your credentials stay in your own private environment - WebRun never stores your passwords.
Strict Lockdown

Every action is checked against this policy before it runs.

Domains ALLOWLIST
Typed input ALLOW
Shell command BLOCK
File uploads BLOCK
Runs in a contained environment More on policies
Good to know

Questions, answered

Will it destroy machines or volumes on its own?

Never. WebRun only reads and reports. It does not destroy a machine, delete a volume, scale an app, or run a deploy. The cleanup list is a proposal a human acts on.

How does it decide something is idle?

Three signals: machines left in a stopped state, volumes with no machine attached, and apps serving no traffic over the week. Each line carries its region and monthly cost.

Does it run shell or flyctl commands?

No. The policy blocks shell entirely. WebRun reads the Fly.io dashboard in a browser the same way you would, so nothing is executed against your infrastructure.

Put this on autopilot.

Turn it on in minutes - or have our team set it up for you.