@KSD, on doing this without adding logic to every workflow: nguyenthieutoan is right that the API covers most of it. A few things we hit when building it that way:
GET /api/v1/executionsis paginated (up to 250 per page, with a cursor). On busy instances you need to page through it, or a quiet workflow drops out of the window and looks dead.- Successful runs only appear if “Save successful executions” is on. If it’s off, a staleness check sees nothing and alerts on everything.
- Run counts and durations are in the list, but item counts aren’t. For “ran but produced nothing” from outside, you have to fetch the execution with
includeData=truefor that workflow. - A rolling median per workflow beats fixed thresholds, as themineworks said, but give it a week of history before you trust it.
Free version of the failed-run and missed-run checks: Free workflow: get alerted on failed runs and on workflows that stop running (6 nodes)