Automation · Workflows

Workflow SLA Tracking

An SLA on a workflow is a promise about timeliness — this will finish within X. Tracking it means measuring the whole journey and warning while there is still time to act.

John Kihiu12 min read

When a workflow underpins a real commitment — an order ships same day, a payout settles within an hour, a report lands by 8am — timeliness is part of the product, not a nice-to-have. SLA tracking makes that promise measurable: define the deadline, measure real completions against it, and alert early enough that a breach is preventable rather than merely recorded.

Define the SLA that matters

The SLA is almost always end-to-end completion time — from the triggering event to the final result — not the runtime of any single step. A workflow can have fast steps and still miss its SLA because it sat in a queue for an hour between them. Measure the full elapsed time, including waiting, retries, and any human-approval steps, because that is what the person relying on the outcome actually experiences.

Measure against it

Record the trigger time and the completion time for every run, and compute the elapsed duration. Track the distribution, not just the average — an average well under the SLA can hide a p95 that regularly breaches it. The tail is where SLAs are lost, so watch p95 and p99, and segment by workflow and by customer if your commitments differ.

SQL · SLA compliance from run timings
SELECT
  workflow,
  count(*)                                                   AS runs,
  percentile_cont(0.95) WITHIN GROUP (ORDER BY elapsed_sec)  AS p95_sec,
  avg((elapsed_sec <= sla_sec)::int)                         AS compliance
FROM workflow_runs
WHERE started_at > now() - interval '7 days'
GROUP BY workflow;

Alert before the breach

An alert that fires when the SLA has already been missed is a report, not a warning. Track in-flight runs against their deadline and alert while there is still slack — "this run is at 80% of its SLA budget and not done" gives you a chance to intervene. Pair that with an alert on the compliance rate trending down, which catches a systemic slowdown before it turns into a wave of individual breaches.

An SLA without an owner and a consequence is a number

Tracking compliance only matters if a breach triggers something — an escalation, a priority bump, a capacity review. Decide in advance who is paged when a critical workflow is about to miss, and what they do. An SLA dashboard nobody is accountable to is just a chart of promises you are quietly breaking.

Workflow SLA tracking is end-to-end timing measured at the tail, in-flight alerting that warns before the deadline, and a compliance trend that flags systemic slowdown early. Done right, the people depending on the automation stop having to ask whether it will finish on time — because you already know, and you act before it doesn't.

John Kihiu
Acumatica ERP Developer · Laravel Engineer

Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.