Workflow example

Website Uptime Monitoring with n8n

A 4-node workflow checks your website every 5 minutes and sends a Telegram, Slack, or Google Chat alert the moment it goes down, so you find out before a customer does.

Most small business websites do not go down often. But when they do, the owner usually finds out the wrong way: a message from a customer saying the site is not loading, or a drop in bookings that only becomes obvious the next day.

A basic uptime monitoring workflow changes that. Instead of waiting for someone to notice, n8n checks your site on a schedule and sends a direct alert to the place you already look when something needs attention: Telegram, Slack, Google Chat, or email.

Trigger Every 5 minutes
Check HTTP GET + status code
Alert Telegram (or Slack / Google Chat)

The workflow

The whole setup fits in four nodes:

Schedule Trigger (every 5 min)
-> HTTP Request (GET your site)
-> IF (status code not 200?)
  -> true: send alert
  -> false: do nothing, site is up
n8n uptime monitoring workflow canvas: Schedule Trigger, HTTP Request, IF node, Telegram alert
The false path connects to nothing. The workflow only acts when there is a problem. No alert means the check passed.

How each node is configured

The false path does nothing on purpose.

No alert means the site responded with 200. The workflow stays quiet until something actually breaks.

Schedule Trigger: set to every 5 minutes. That gives a maximum 5-minute window before an alert fires. A 1-minute interval would generate noise from transient blips that recover on their own.

HTTP Request: method GET, URL is the site homepage or a lightweight status endpoint. Set a Timeout of around 10 000 ms. If the server takes longer than 10 seconds to respond, it is effectively down for a real user. In Settings, enable Continue on Fail so a completely unreachable server does not stop the workflow before it reaches the IF node.

IF node: condition checks whether statusCode is not equal to 200. True path triggers the alert. False path is left unconnected.

Telegram node: sends the alert message. n8n has native nodes for Telegram, Slack, and Google Chat. The channel matters less than whether the responsible person will actually see the message when it arrives.

The alert message

The message uses node name referencing to pull the status code from the HTTP Request result:

🔴 Site Down Alert

Site: yoursite.com
Status: {{ $('Check Site').item.json.statusCode ?? 'offline' }}
Time: {{ $now.toISO() }}

Checked by n8n monitoring workflow.
Telegram alert messages from n8n uptime monitoring workflow showing site down notifications
The alert fires in Telegram when the site check fails. Same pattern works in Slack, Google Chat, or email.

What to check when the alert fires

Monitoring multiple sites

For several URLs, add a Loop Over Items node before the HTTP Request. Keep the URL list in a Code node or Google Sheets row, process each one at a time, and include the site URL in the alert message so you know which one triggered.

For two or three sites, duplicating the workflow per site is simpler and easier to debug than building a loop.

This workflow handles HTTP-level availability. It complements, but does not replace, n8n Error Workflow alerts, which protect your automations from failing silently. One watches the infrastructure, the other watches the workflows running on top of it.

n8n referral

Want to run this on n8n Cloud?

I may earn a commission if you sign up through this link, at no extra cost to you.

Try n8n Cloud

Know when your site goes down — not an hour later.

Send your site URL and the channel your team already uses. I will map the smallest monitoring setup that makes sense for your stack.

Get the map