How are you monitoring n8n workflows in production?

@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/executions is 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=true for 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)