3 Simple Power Automate Workflows to Automatically Identify and Terminate Unused Cloud Resources
The cloud makes it easy to create virtual machines, databases, and storage accounts with just a few clicks. The problem is, these resources are often left running long after they’re needed. This “cloud sprawl,” the unmanaged growth of cloud resources, can quietly drain your budget every month. According to Hashi Corp’s State of Cloud Strategy Survey 2024, the top reasons for this waste are lack of skills, idle or underused resources, and overprovisioning, which together drive up costs for businesses of all sizes.
Why Should I Care About Cloud Resources?
The business benefit is tangible and dramatic. While organisations struggle with cloud budgets exceeding limits by an estimated 17%, automation offers a clear path to control.
For example, a VLink saved a significant amount of money on its non-production cloud spend by implementing a rigorous cloud shutdown automation policy. This policy automatically powered down all development and test environments that were not explicitly tagged as 'Production' outside of normal business hours (8 AM to 6 PM). The savings from just this single automated action accounted for 40% off their non-production cloud spend, freeing up that budget for new growth initiatives.
3 Power Automate Workflows
Finding these unused cloud resources feels like hunting for ghosts. But what if you could automate the hunt? Microsoft Power Automate is a powerful tool for this exact task. Let’s look at three straightforward workflows to identify and terminate waste automatically.
1. Automate the Shutdown of Development VMs
Development and test environments are the worst offenders for cloud waste. A team needs a virtual machine for a short-term project. The project ends, but the VM continues to run, costing money. You can build a workflow that stops this waste. Create a Power Automate flow that triggers daily and queries Azure for all virtual machines with a specific tag, like “Environment: Dev.”
The flow then checks the machine’s performance metrics. If the CPU utilisation has been below 5% for the last 72 hours, it executes a command to shut down the VM. This simple Azure automation does not delete anything, it simply turns off the power, slashing costs immediately. Your developers can still start it if needed, but you are no longer paying for idle time.
2. Identify and Report Orphaned Storage Disks
When you delete an Azure virtual machine, you are often given an option to delete its associated storage disk. This step is frequently missed, and the orphaned disks continue to incur storage charges month after month. You can create a flow to find them.
Build a Power Automate schedule that runs weekly. The flow will list all unattached managed disks in your subscription and will then compose a detailed email report that lists the disk names, their sizes, and the estimated monthly cost. The report acts as a clear, actionable list that could be used for cleanup purposes, and you can send it using the “Send an email” action to your IT manager or finance team for further evaluation on whether to keep or delete the disks.
3. Terminate Expired Temporary Resources
Some business projects require temporary cloud resources, like a blob storage container for a file transfer or a temporary database for data analysis. Since these resources have a finite lifespan, you need to directly integrate build expiration dates into your deployment process. For this, you can use a Power Automate flow that is triggered by a custom date field. This means that whenever you create a temporary resource, you add a descriptive tag such as “Deletion Date.”
After implementing this best practice, i.e., adding descriptive tags to cloud resources, set the flow to run daily and check for all resources that bear the “Deletion Date” tag. For each resource the flow finds, it should check whether the current date matches or is later than the “Deletion Date” property. If this condition is met, the flow deletes the resource automatically. This hands-off cleanup ensures that temporary items do not become permanent expenses. This approach not only eliminates the risk of human oversight but also uses automation to enforce financial discipline.
Troubleshoot Your Automated Workflows
Using Power Automate to build these workflows is a great start, but you also need to implement them safely. Automations that delete resources are powerful and need controls in place. To be safe, always launch these flows in report-only mode, which lets you test and simulate automations without enforcing them. For example, you can modify the “Terminate Expired Temporary Resources” flow to send an email alert instead of deleting resources for the first couple of weeks as you observe. This helps validate whether your flow logic is sound and gives you an opportunity to fix errors and oversights.
You can also consider adding a manual approval requirement for certain high-risk actions, such as the deletion of very large storage disks. This ensures that your automations work to your benefit and not against you.
Take Control of Your Cloud Spend
These three Power Automate workflows are a good starting point for businesses using Microsoft Azure. They help you shift from a reactive to a proactive position, ensuring you only pay for the resources you actively use.
Stop overspending on idle cloud resources. To take control of your cloud environment and start saving, contact us today to implement these Power Automate workflows and optimise your Azure spend.
More from our blog


3. A credibility wrapper: “assessment”, “interview pack”, or “onboarding”
Airswift flags link/attachment requests and urgency tactics as common red flags. The story is usually something like: “Download this assessment,” “Review these onboarding steps,” or “Log in here to schedule.” Tag Apps Make decisions visible and repeatable by tagging apps. Microsoft explicitly calls tagging apps as sanctioned or unsanctioned an important step, because it lets you filter, track progress, and drive consistent action over time. 4. The pivot: money, sensitive info, or account takeover Scammers impersonate well-known companies and then ask for things legitimate employers typically don’t: payment for “equipment” or early requests for personal information. Another variation is more subtle: “verification” steps that are really designed to steal identity details or compromise accounts. 5. Pressure to keep moving If someone hesitates, the scam leans on urgency: “limited slots,” “fast-track hiring,” “complete this today.” That’s why Forbes frames the key skill as slowing down and checking details, because the scam depends on momentum. Red Flags Checklist for Staff Here are the red flags to look out for. Red flags in the job posting The role is oddly vague or overly broad. Generic responsibilities, unclear reporting lines, and “we’ll share details later” language are common in fake listings. The company's presence doesn’t match the brand name. Thin company pages, inconsistent logos/branding, or a web presence that feels incomplete are worth pausing on. The process is “too easy, too fast.” If the listing implies immediate hiring with minimal steps, treat it as suspicious. Red flags in recruiter behaviour They push you off LinkedIn quickly. Moving to WhatsApp/Telegram or personal email early is a common tactic. They use a personal email address or unusual contact details. Be specifically cautious of recruiters using free webmail accounts instead of a company domain. They avoid verification. If they dodge basic questions, treat that as a signal, not a scheduling issue Hard-stop requests Any request for money or fees. Application fees, equipment purchases, “training costs”, gift cards, crypto, that’s a hard stop. Requests for sensitive personal info early. Bank details, identity documents, tax forms, or “background checks” before a real interview process is established. Requests for verification codes. If anyone asks you to read back a one-time code sent to your phone/email, assume they’re trying to take over an account. Requests for non-public company information like org charts, internal system details, client lists, invoice processes and security tools. Look out for requisitions for anything beyond what a recruiter would reasonably need. Stop Scams With Simple Defaults LinkedIn recruitment scams don’t succeed because staff are careless. They succeed because the outreach looks normal, the process feels familiar, and the next step is always framed as urgent. The fix isn’t turning everyone into an investigator. It’s setting simple defaults that make scams harder to complete: slow down before clicking, verify the recruiter and role through official channels, keep conversations on-platform until identity checks out, and treat money requests, code requests, and early personal data demands as hard stops. When those habits are standardised, the scam loses its leverage.