The value of automation is that no one has to watch it. The risk of automation is that no one is watching it. A workflow can fail, stall, or silently produce wrong results, and because it runs in the background, nothing surfaces until the downstream damage is visible. Monitoring is how you keep the convenience without the blind spot.
The core metrics
- Success rate — completed runs versus failed, per workflow, watched for drops.
- Duration — how long runs take, at p95, so a workflow that is slowing down shows up before it times out.
- Throughput — runs and records processed per interval, so a fall-off flags a stuck upstream.
- Step-level health — which step fails most, because the aggregate hides the one bad link in the chain.
Alert on what didn't run
The subtlest failure is the run that never happened — a scheduled workflow whose trigger broke, an event-driven one whose events stopped arriving. No run means no error, so failure-based alerting stays silent. For anything scheduled or expected on a cadence, alert on absence: if the nightly sync has not run by its expected time, that silence is the alarm.
1. success rate < threshold -> runs are failing
2. expected run missing by T+grace -> trigger or schedule broke (silent!)
3. p95 duration rising -> degrading, will soon time out
4. throughput drops vs baseline -> upstream stalled
Make runs inspectable
Beyond metrics, you want to open a single run and see its story: which steps ran, what each received and returned, where it failed. This run-level visibility is what turns a monitoring alert into a fix — the metric tells you something is wrong, the run detail tells you what. Log a run id through every step so the whole path is reconstructable.
The hardest failure to monitor is the run that completes green while producing wrong output — a mapping bug that files everything under the wrong category. Metrics show it as healthy. Guard the critical workflows with output validation or a reconciliation check against the source of truth, because 'it ran' is not the same as 'it was correct.'
Monitor automation as if it will fail silently, because it will: success and duration metrics, an absence alarm on expected runs, run-level inspectability, and output validation on the workflows that matter. That is the difference between finding a problem in a dashboard and finding it in an angry customer email.
Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.