Guide
n8n heartbeat monitoring for the tools that have no API worth polling.
Some of the most important lead flows do not live in the n8n instance you can reach. A heartbeat is a URL the workflow calls when it actually finishes.
One URL, two failure modes
Each check gets a URL like /hb/… that accepts GET or POST. Call it at the end of the workflow. If you know how many leads the run handled, add ?count=12 or a JSON body. If the next call is later than the interval you set, the check is overdue. If the latest call arrived on time with count=0, that is a zero-count alert.
Omit count when you only care that the scenario is alive. A missing count is not treated as zero.
Where to put the step
In n8n, an HTTP Request node at the end of the success path is enough. In Make and Zapier, use the HTTP module the same way. Custom agents can curl the URL. Do not put the heartbeat on the error path only — you already know about errors. Put it where a real delivery would pass.
Keep the token in the workflow, not in a public page. Anyone with the URL can mark the check healthy. Tokens are long and unguessable, and you can rotate one by creating a new heartbeat.
Same incident rules as n8n
An overdue heartbeat opens one incident and stays quiet on later checks. A ping inside the interval resolves it and sends a recovery. A zero count is its own incident, so a workflow that is alive but empty does not get mixed up with a workflow that has stopped calling.