Weekly Tailscale cleanup digest with a prioritized action list
Every Monday we review your Tailscale network for stale devices and aging keys, then post a ranked cleanup list to Slack and open tickets for the urgent ones.
Every Monday at 8am, review my whole Tailscale tailnet for hygiene problems and give me a prioritized action list instead of a raw dump.
Start by pulling the full picture. Use the Tailscale List tailnet devices operation requesting all fields, so you get the complete field set including last seen time, creation date, owner, tags, whether key expiry is disabled, and whether the device is ephemeral. Then use List tailnet keys to get every auth key in the tailnet. If you need to confirm details on a specific device before judging it, use Get a device.
From that data, work out four things: which devices have not checked in for more than 30 days, which devices have key expiry disabled, which devices are ephemeral leftovers that should have cleaned themselves up, and which auth keys are close to their expiry date or already stale. Device freshness comes from the lastSeen and created timestamps.
Judge each finding in context rather than flagging everything that matches a rule. A tagged server with key expiry disabled on purpose is fine and should not be treated as an incident. A personal laptop that vanished six weeks ago is a real problem. Use the device tags, the owner, and the naming pattern to tell managed infrastructure apart from personal machines.
Post a ranked digest to my Slack channel using the Slack Bot Send a Message operation, grouped into three sections: revoke now, check with owner, and safe to ignore. Include the device name, owner, last seen date, and tags on every line so I can act without opening the admin console. Order each group so the most urgent item comes first, and say briefly why each item landed in the group it did.
Then, for each item in the revoke now group, open a Linear issue using Create Issue so the cleanup actually gets tracked. Give each issue a clear title naming the device or key, and put the owner, last seen date, tags, and the reason it was flagged in the description. Do not open issues for the check with owner or safe to ignore groups.
Example output
What does this prompt do?
- Checks every device on your Tailscale network once a week and works out which ones have gone quiet, which never expire their access, and which were meant to be temporary but stuck around.
- Reviews your access keys for ones that are close to expiring or have been sitting unused for too long.
- Sorts findings into revoke now, check with owner, and safe to ignore, so an intentionally long-lived server does not get treated the same as a laptop that vanished six weeks ago.
- Posts the ranked list to a Slack channel and opens a Linear ticket for each urgent item so the cleanup actually gets followed through.
What do I need to use this?
- A Tailscale account with admin access to the network you want reviewed.
- A Slack workspace and a channel where the weekly digest should land.
- A Linear workspace and the team that should own the cleanup tickets.
How can I customize it?
- Change the schedule. Monday at 8am is just a starting point, and monthly works well for smaller networks.
- Adjust the thresholds, like treating 60 days of silence as stale instead of 30, or flagging keys further ahead of their expiry date.
- Tell it which tags or naming patterns mark intentional always-on servers so they stay in the safe to ignore group.
FAQs
Will this remove devices or revoke keys on its own?
How does it tell a long-lived server apart from a forgotten laptop?
What if we do not use Linear?
Will this still be readable if we have hundreds of devices?
Can the digest go to a private channel?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop letting forgotten devices linger on your network.
Get a ranked Tailscale cleanup list in Slack every Monday, with tickets opened automatically for the items that actually need action.