| Stop machines from the CLI or the portal on purpose and want those deallocated too | Only a guest shutdown carries the sentence the workflow looks for; an API stop is deliberately left alone | `az vm deallocate`, or a schedule |
| Need schedules, a dry run, guards, or a record of what was decided | There is no schedule, no blast radius and no report here — one event, one call | VM Power Management, further down |
| Run machines whose dynamic public IP or ephemeral OS disk has to survive a shutdown | Deallocation releases the one and discards the other | Static IPs, or keep those machines out of the alert's scope |
| Want it on some machines only | The alert rule is subscription-wide and the workflow has no exclusion tag | Narrow the rule's scope in the template |