π« Monitor Your n8n Cron Jobs with BetterStack Heartbeats
When you're running time-based workflows in n8n β like scheduled reports, cleanup jobs, or daily integrations β it's easy to assume everything "just works."
But what if something breaks silently? What if the workflow fails to start, or gets stuck?

This is where BetterStack Heartbeats shine. You can think of them as a simple βpingβ monitor: if your workflow doesnβt check in on time, you get notified.
Hereβs how to set it up.
π§ What Youβll Need
- An n8n instance (self-hosted or cloud)
- A BetterStack account (free tier is enough!)
- A cron-based workflow you want to monitor
π‘ Step 1: Create a Heartbeat in BetterStack
- Log into your BetterStack dashboard.
- Go to the Heartbeats section and click "New Heartbeat."
- Give it a name like
daily-report-cron
. - Set the expected interval β e.g., "every 1 day" or "every 6 hours".
- Copy the Ping URL they give you.
π Step 2: Add the Ping to Your n8n Workflow
In your workflow that starts with a Cron
node:
- After the
Cron
trigger and your main logic (or at the end), - Add an HTTP Request node.
- Set it to GET and paste in your BetterStack Ping URL.
- (Optional) Rename the node to something like
Send Heartbeat
.
This node will "ping" BetterStack every time the workflow completes.
β οΈ Step 3: Add Alerts in BetterStack
If a ping doesn't arrive on time, BetterStack will alert you via:
- Slack
- PagerDuty
- Webhook
- ... or even SMS
You can configure alerts per heartbeat, or across your entire project.
π Tips for Better Monitoring
- Ping at the end of your workflow to confirm it completed successfully.
- If your workflow has multiple branches or uses
Execute Workflow
, make sure all successful paths end with aGET
request to your BetterStack Ping URL. - To report failures, add an error-handling path using the Error Trigger or
IF
/Catch
logic, and make aGET
orPOST
request to the same heartbeat URL, but with the/fail
suffix.
Example:https://betteruptime.com/api/v1/heartbeat/abc123/fail
This tells BetterStack explicitly: βSomething went wrong.β - Use different heartbeats for different workflows (e.g.,
daily-sync
,backup-cleanup
, etc.), so you can quickly tell which one didnβt behave.
β Why This Matters
n8n is great at running background jobs β but without external monitoring, failures can go unnoticed.
Adding a simple heartbeat turns your Cron
workflows from silent assumptions into trustworthy, monitored systems.