Originally published on Datvero Research. Author: Victor Laybats, IVRYN.
When a scheduled workflow (n8n, Make, Zapier or a plain cron job) stops sending its heartbeat, how long does it take before a monitor marks it late, then down? We derived the answer from the detector implementation itself instead of guessing: a reproducible timing table, with the source fingerprint published next to it.
The detector checks every 60 seconds, marks a workflow late after 1.5 times its expected interval and down after 2 times its expected interval.
Detection timing by expected heartbeat interval
Each range covers all 60 whole-second offsets between a stored heartbeat and the detector's recurring check. Threshold comparisons are strict, so a check exactly on the threshold does not transition state.
| Expected heartbeat | Late threshold | Late observed range | Late p95 | Down threshold | Down observed range | Down p95 |
|---|---|---|---|---|---|---|
| 1 min | 1 min 30 s | 1 min 31 s to 2 min 30 s | 2 min 27 s | 2 min | 2 min 01 s to 3 min | 2 min 57 s |
| 5 min | 7 min 30 s | 7 min 31 s to 8 min 30 s | 8 min 27 s | 10 min | 10 min 01 s to 11 min | 10 min 57 s |
| 10 min | 15 min | 15 min 01 s to 16 min | 15 min 57 s | 20 min | 20 min 01 s to 21 min | 20 min 57 s |
| 30 min | 45 min | 45 min 01 s to 46 min | 45 min 57 s | 60 min | 60 min 01 s to 61 min | 60 min 57 s |
| 60 min | 90 min | 90 min 01 s to 91 min | 90 min 57 s | 120 min | 120 min 01 s to 121 min | 120 min 57 s |
Implementation rule: late when elapsed > expected × 1.5, down when elapsed > expected × 2, evaluation every 60 s.
How the table was produced
- Extract. The generator reads the current detector source and extracts its check interval and status multipliers.
- Enumerate. It evaluates every whole-second scheduler phase from 1 through 60 seconds for each configured example interval.
- Record. It records earliest, median, p95 and latest transition time for late and down states.
-
Fingerprint. The output stores the repository commit, source path, dirty state and SHA-256 of the tested implementation (source SHA-256
d1ff53f470a80addc76384515fca0e17567588e44c550b903f7bc01ae1940321, version 2026-08-14T00:48:39.865Z).
Interpretation and limits
This is implementation evidence, not a production response-time promise. Actual notification time includes more systems than the detector threshold.
- This table is derived from a source-code snapshot and is not a production latency measurement or service-level agreement.
- Whole-second scheduler phases are sampled. Sub-second phase offsets are not enumerated.
- Network transit, database latency, process stalls, alert rendering and delivery-channel latency are excluded.
- The model starts from the last stored heartbeat timestamp and assumes the detector continues to run every configured check interval.
- The results do not measure third-party workflow reliability or customer outcomes.
Data and reproduction
The structured dataset, row-level CSV, schema, reproduction note and integrity hashes contain no customer or workflow records.
The original compilation, authored method and generated timing table are licensed under CC BY 4.0.
Suggested citation: Laybats, Victor. "Heartbeat monitoring detection envelope." Datvero Research, IVRYN, 9 Aug. 2026. https://datvero.com/research/heartbeat-detection-envelope/2026-08-14T00-48-39-865Z/index.html
If you are setting up the schedule itself, our free cron expression explainer reads a 5 or 6 field expression and lists the next runs in your time zone.
Top comments (0)