Microsoft shipped a change this month that IT operations teams should study — not because it's about monitoring, but because it's about where work happens. Teams users can now invoke GitHub Copilot directly from a channel to investigate repository issues, implement fixes, and prepare pull requests. No browser-tab juggling, no copy-pasting issue numbers, no "hold on, let me open that in another tool." Microsoft is also rolling out tenant-wide meeting templates and meeting AI controls in November 2026, and building deepfake flagging for Teams calls. Different features, one shared philosophy: collapse the distance between where a problem is detected and where it gets fixed.
Now hold that philosophy up against the average IT department or MSP toolchain and ask yourself honestly: how far is the distance between your alerts and your fixes?
The 2 A.M. Reality of a Fragmented Stack
A disk alert fires at 2:14 a.m. — 94% on FS03, a client file server. Here's what the on-call tech at a typical MSP actually does:
- Read the alert in the monitoring console — PRTG, Zabbix, SolarWinds, pick your poison.
- Copy the hostname. Open the RMM in another tab — ConnectWise Control, N-able, NinjaOne. Search for the device. Hope the client context is right, because running a cleanup script on the wrong tenant's server is a career-defining mistake.
- Open a remote session. Run manual checks: what's eating the disk, is it log files, shadow copies, or last night's patch cycle.
- Switch to the helpdesk — ServiceNow, Freshservice, HaloPSA. Find or create the ticket. Paste the hostname. Paste the findings. Update the status.
- Open the patching console (WSUS, PDQ Deploy) to check whether last month's update wave is related.
- Repeat steps 4 and 5 every time the situation changes, then reconcile everything manually at the end of the week for SLA reporting.
Six hops. Four consoles. Each switch costs two to five minutes of dead time and context reload — and every switch is another chance to grab the wrong device, skip a documentation step, or lose the thread entirely.
Do the math. If context-gathering alone adds 12 minutes per incident and your team handles 300 incidents a month, that's 60 hours — a work-week and a half — spent navigating between tools instead of fixing things. Before a single byte is touched.
Why These Gaps Exist (and Why They Persist)
Monitoring, RMM, helpdesk, and patching tools were built in different eras for different buyers:
- The monitoring tool (PRTG, Zabbix, SolarWinds, Datadog) knows metrics cold but usually has no real execution capability. It can tell you the disk is full. It can't clean it.
- The RMM (ConnectWise, N-able, NinjaOne) can execute, but its alerting is often a pale shadow of a real monitoring engine — threshold-based, noisy, blind to anything that isn't an endpoint.
- The helpdesk (ServiceNow, Zendesk, HaloPSA) owns the SLA clock and the workflow but has zero live telemetry. Technicians type into it what other tools told them.
- Patching lives in its own silo — WSUS, PDQ Deploy, or an RMM module nobody fully trusts.
The integrations that do exist are webhooks and CSV exports: brittle, one-directional, and usually the first thing to break silently. The alert fires but the ticket never opens. The script runs but nothing shows on the ticket. The patch deploys but nobody notices the service it was supposed to fix is still down.
The business impact is specific:
- MTTR inflated 2-3x — not by hard diagnosis, but by tool navigation.
- SLA reports that are fiction. The helpdesk clock starts when a human creates a ticket, not when the alert fired. Your "average response: 8 minutes" dashboard quietly excludes the 25 minutes the alert sat in a console nobody was watching.
- Wrong-tenant mistakes. Multi-client context switching in a standalone RMM is exactly where "ran the script on the wrong client's server" horror stories come from.
- Technician burnout. Context switching is the tax nobody budgets for — and your best techs pay it most often, because they carry the pager.
What AlertMonitor Does Differently
AlertMonitor takes the same principle Microsoft just applied to dev workflows — act where the context already is — and applies it to IT operations. Monitoring, RMM, helpdesk, patch management, and network topology run on one agent, one asset inventory, one timeline.
From alert to remote session in one click. The disk alert on FS03 carries the device context with it. Click the alert, open the remote session. No hostname copying, no client re-selection, no device search. For an MSP managing 40 clients, removing the manual tenant-context switch isn't a convenience — it's risk elimination.
Scripts as a first-class part of the alert. Build a remediation library once — PowerShell for Windows endpoints, Bash for Linux — and run it against a single device or an entire device group, right from the alert or device view. Push software the same way. The way Microsoft's tenant-wide meeting templates let you govern configuration at tenant scale instead of meeting by meeting, AlertMonitor lets you apply remediations and policies at group and client scale instead of one heroic machine at a time.
Script results feed back into monitoring data. This is the piece fragmented stacks cannot do. When a tech runs a cleanup script, the output lands on the same timeline as the alert, the resulting disk metric drops visibly, and the ticket updates automatically. The next person who touches the incident sees the complete story — alert, action, effect — with no archaeology across four consoles.
Old way vs. the AlertMonitor way: six hops and 12-18 minutes to first diagnosis becomes roughly 90 seconds from alert to remote shell, with results already journaled to the ticket. And because every session, script run, and software push journals itself, your SLA reports come from one dataset — not a CSV merge you run every Friday.
Practical Steps You Can Take This Week
1. Count your hops. For one day, have every tech log how many tool switches each alert required. That number — your context-switch tax — is your business case for consolidation.
2. Start building your remediation script library. These are exactly the kind of scripts you want attached to alert types, one click away:
Disk usage snapshot across a server group:
$servers = @('DC01','FS03','APP01','SQL01')
Get-CimInstance -ClassName Win32_LogicalDisk -Filter 'DriveType=3' -ComputerName $servers |
Select-Object SystemName, DeviceID,
@{N='FreeGB';E={[math]::Round($_.FreeSpace/1GB,1)}},
@{N='TotalGB';E={[math]::Round($_.Size/1GB,1)}},
@{N='PctFree';E={[math]::Round(($_.FreeSpace/$_.Size)*100,1)}} |
Where-Object { $_.PctFree -lt 15 } |
Sort-Object PctFree
A watchdog that detects and restarts a stopped service, with output you'd want on the device timeline:
$checks = @(
@{ Service = 'Spooler'; Servers = @('PRINT01','PRINT02') },
@{ Service = 'W32Time'; Servers = @('DC01','DC02') }
)
foreach ($check in $checks) {
foreach ($server in $check.Servers) {
$svc = Get-Service -Name $check.Service -ComputerName $server -ErrorAction SilentlyContinue
if ($null -eq $svc) {
Write-Output "$server : service '$($check.Service)' not found"
} elseif ($svc.Status -ne 'Running') {
Write-Output "$server : '$($check.Service)' is $($svc.Status) - restarting"
$svc | Restart-Service -Force
} else {
Write-Output "$server : '$($check.Service)' OK"
}
}
}
A patch compliance snapshot — how stale is each server's last update:
$report = foreach ($server in (Get-Content .\servers.txt)) {
$last = Get-HotFix -ComputerName $server -ErrorAction SilentlyContinue |
Sort-Object InstalledOn -Descending | Select-Object -First 1
[PSCustomObject]@{
Server = $server
LastPatch = if ($last) { $last.HotFixID } else { 'None found' }
Installed = if ($last -and $last.InstalledOn) { $last.InstalledOn } else { $null }
AgeDays = if ($last -and $last.InstalledOn) { ((Get-Date) - $last.InstalledOn).Days } else { 9999 }
}
}
$report | Sort-Object AgeDays -Descending | Format-Table -AutoSize
And the Linux equivalent for mixed environments:
#!/bin/bash
# disk-watch.sh - flag any filesystem over 85% and list failed services
THRESHOLD=85
df --output=source,pcent -x tmpfs -x devtmpfs | tail -n +2 | while read -r fs pct; do
usage=${pct//%/}
if (( usage >= THRESHOLD )); then
echo "WARNING: $fs at $pct"
fi
done
systemctl list-units --type=service --state=failed --no-pager
3. Attach scripts to the alerts that need them. In AlertMonitor, a low-disk alert can offer the cleanup script, a failed-service alert can offer the restart watchdog, and a patch-drift report feeds directly into your monthly patch cycle. The tech who gets paged at 2 a.m. doesn't reconstruct context — they execute.
4. Roll out at group level, not machine level. Assign patch baselines and remediation scripts per site and per client group. Tenant-wide configuration should be your default posture, not a heroic one-off.
5. Make the unified timeline your SLA source of truth. When remote sessions, script runs, and software pushes journal themselves automatically, you stop merging exports — and your SLA numbers finally mean something.
The Takeaway
Microsoft looked at how developers work and concluded that making them leave Teams to fix a repo issue was wasted motion. Every IT leader should ask the same question about their own stack: why does my monitoring tool tell me something is broken, then leave me to fix it somewhere else? The alert should be the doorway to the fix — the remote session, the script, the patch, the ticket update — all in the same place, all on the same timeline. That's what Microsoft just did for code. It's what AlertMonitor does for IT operations.
Related Resources
AlertMonitor RMM & Remote Management AlertMonitor Platform Overview Book a Demo RMM & Remote Management Resources
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.