Skip to content

A watchdog for the things that quietly stop your leads

A standalone n8n template that checks every five minutes that the website loads, the Twilio balance is above a floor, the number still routes where it did and carriers are not blocking its texts. One text when something breaks, one when it is back. What ten live runs found.

By Mike Matthews ·
  • build log
  • automation
  • n8n
  • twilio
  • sms
  • monitoring
  • testing

Most of the workflows I build answer a customer. This one watches the business.

A service business gets its leads through two doors: the website and the phone number. Both can stop working without anyone noticing. The site goes down on a Friday night. The Twilio balance runs out and texts stop going out. Someone changes where the number sends calls. Carriers start filtering the business’s texts as spam. Nothing announces any of that. The owner finds out when the phone has been quiet for three days.

So the sixth standalone template checks those four things every five minutes and texts the owner when one of them changes.

What it checks

The websites. Each one has to load without an error inside 15 seconds. You can also give it a piece of text that must be on the page, like your phone number. A page that loads but lost your number is broken as far as a customer is concerned, so it counts as down. A failed security certificate counts as down too.

The Twilio balance. It warns you while there is still money on the account, at a floor you choose. That matters more than it sounds: at $0 Twilio stops your texts and calls, and it would stop these alerts with them.

Where the number sends calls and texts. The first check remembers the destination. If it ever changes, you get the old one and the new one in the same text. If the number disappears from the account, you hear about that at once, even at night.

Carrier blocking. It reads the texts your number sent in the last hour and counts the ones carriers refused: filtering, blocking, an unregistered or unverified number. A wrong number or a landline is not counted, because that is one bad number, not a problem with your line.

How it behaves

One blip does not wake you up. A site has to fail two checks in a row before you hear about it.

You get one text when something breaks, a reminder every four hours while it stays broken, and one text when it recovers, with how long it was down.

Quiet hours hold everything except routing changes. In the morning you get one short check-in: what happened overnight and where things stand now. The check-in also goes out on normal days, and that is on purpose. A watchdog you never hear from looks exactly like one that stopped working.

If Twilio will not take one of these texts, it is kept and sent again on the next check, for up to a day.

There is no database. It remembers what it already told you in the workflow’s own storage, which n8n keeps for published workflows.

What the live runs found

I ran it against matthewsautomation.net and a real Twilio number, checking every minute, with my own cell getting the texts. I added a page that does not exist so something would fail. Ten runs.

The first check texted me what it was watching and the state of each thing. The second told me the test page was down with a 404. When I changed the required text to something not on the page, the site went down on the next check, and when I put it back I got “back up after 2 min”. I set my own cell to a number Twilio refuses, and the alert was kept and went out on the next check once the number was fixed. With quiet hours set around the current time, the down alert was held for the morning and nothing was sent.

Two things came out of it.

Editing a running workflow does not change it. On the current version of n8n, a change to a published workflow’s settings does not reach the running copy until you publish again. My first run after an edit still used the old settings. It is an easy way to test the wrong thing, so it is now written on the canvas.

$1000.00. The balance alert printed a four digit number without a comma. Small, but the text is meant to be read in one glance, so it now says $1,000.00.

What is not covered

The morning check-in needs a new day, and I did not leave it running overnight, so I have not seen it fire live. It is covered by the automated checks, which run the workflow’s own code with the clock frozen. A routing change, a missing number and real carrier blocking were only simulated against a mock Twilio. I was not going to change the routing on a live business number to prove a point.

The template, the test notes and the 63 automated checks are on GitHub.

Next step

Want this kind of thinking applied to your business?

Fifteen minutes with Mike. We look at what you're actually doing by hand, and you get a straight answer on what's worth automating — including "nothing yet," which is the answer often enough that it's worth saying out loud.