Who notices, and who rings
Most web monitoring tools are good at noticing and poor at getting your attention. They send an email, a push banner or a message in a channel you muted months ago. LFG Alarm does not check pages itself; it turns their signal into an alarm.
| What you want to know | Tool that notices | How it rings LFG Alarm |
|---|---|---|
| A web page changed (a slot opened, a price changed, a "sold out" label went away) | A website change monitor | Its webhook setting calls the alarm's link |
| Your site stopped answering | An uptime monitor | A webhook alert contact |
| Something happened in another app (an email from one sender, a form filled in, a row added) | Zapier, Make or IFTTT | A web request step at the end of the automation |
| A build, deploy or scheduled job failed | GitHub Actions or your CI | A curl step that runs on failure |
| Anything you can check with a few lines of code | A cron script | curl -X POST when the check passes |
| An X account posts, a Twitch or YouTube channel goes live | Nothing extra | A post alarm |
How the link works
- In the app, on Alarms, tap 🔮 Anything.
- Pick a Cooldown, choose private or friends, and tap Arm it.
- Copy the link from the card. Send it an HTTP POST request and the alarm rings.
curl -X POST https://example.com/lfg-webhook-link
Replace the placeholder with your own link. A few things to know before you wire it up:
- It has to be a POST. Opening the link in a browser does nothing. Some tools send GET by default; switch them to POST.
- Nothing you send is shown. No message, no page title, no payload. The alarm's name is what tells you what happened, so make one alarm per kind of event: "Visa page changed", "Site down", not "Alerts".
- The cooldown is the time after a ring during which more calls are ignored: 1, 5, 10, 30 or 60 minutes, 10 by default. A monitor stuck in a loop cannot ring you all night.
- Test fire rings only your phone, so you can check the sound before you trust it.
- New URL retires the old link at once. Treat the link like a password and change it if it ends up somewhere public.
- Switched off answers that it is switched off; deleted answers "not found". Your script can tell the difference.
Anything alarms are private or shared with friends you name, and never public, because only you know what sets them off. If you delete one, the friends riding it lose it too: a copy would never ring, since the link belongs to you. The exact behaviour is on the anything alarms wiki page.
Recipes for common tools
A website change monitor
Many website change monitors can send a webhook when a page changes. Point the monitor at the part of the page you care about (an appointment table, a price, a stock label), paste the alarm's link as the webhook, and make sure it sends a POST. A 30 or 60 minute cooldown suits pages that might wobble back and forth.
An uptime monitor
Most uptime monitors, UptimeRobot among them, let you add a webhook as an alert contact. Add the alarm's link there, share the alarm with whoever should get up with you, and use a 10 minute cooldown so a flapping server rings once, not every check.
Zapier, Make or IFTTT
End the automation with a web request to the link: Webhooks by Zapier with a POST, Make's HTTP module with the POST method, or IFTTT's Webhooks service with Make a web request. Whatever the trigger is (an email from one sender, a new row in a sheet, a parcel marked delivered), the last step rings you. The app's What's a webhook? guide includes a prompt you can paste into any AI assistant to be walked through these step by step, without ever sharing your link.
GitHub Actions
Store the link as a repository secret and add a step that runs only when the job fails:
- name: Ring my phone if this failed
if: failure()
run: curl -X POST "$LFG_ALARM_URL"
env:
LFG_ALARM_URL: ${{ secrets.LFG_ALARM_URL }}
A cron script
For pages with no monitor, a few lines of shell will do. This rings when a page stops saying "Registration closed":
#!/bin/sh
# check.sh
if ! curl -s https://example.com/course | grep -q "Registration closed"; then
curl -X POST "$LFG_ALARM_URL"
fi
Run it every five minutes with cron, with the link set in LFG_ALARM_URL. Once the page changes, the script calls the link on every run, so pick a 60 minute cooldown and it rings at most once an hour until you stop it.
A button on your phone
A shortcut that sends a POST to the link (Shortcuts on iPhone can do this with Get Contents of URL) becomes a one-tap button that rings everyone on a friends alarm: "we're outside", "the stream's starting".
No tool needed: X, Twitch and YouTube
For a lot of "something happened online" moments, the place it happens is a social account. A post alarm skips the monitor entirely:
- On X, Rocco reads each new post from an account and rings only for posts that mean what you wrote, such as "announces a launch date" or "says the beta is open". Meaning, not keywords, so a post that never uses your word still counts.
- On Twitch or YouTube, pick When they go live or When they post a video.
No X account is needed, only the handle. Post alarms can be private, friends or public, so a creator can post the link and let followers ride along. See an alarm for when someone posts.
Choosing a cooldown
| Cooldown | Good for |
|---|---|
| 1 minute | A restock or a button you press yourself, where a second ring a few minutes later means something new |
| 5 minutes | Busy monitors that might fire twice for one change |
| 10 minutes (default) | Uptime checks and failed jobs |
| 30 minutes | Pages that change a little all day |
| 60 minutes | Cron scripts that keep calling until you fix the cause |
How it rings
- Android: a full-screen alarm, even on Do Not Disturb.
- iPhone: a time-sensitive alert with the alarm's own sound, which can come through Focus but respects the silent switch, so keep the ringer on.
- A laptop: rings only while an lfg.gm tab is open and the laptop is awake and online, for up to ten minutes. Phone browsers never ring. See alarms on your laptop.
Anything and post alarms need a connection, because the server notices the moment and tells your phone.
LFG Alarm is not an on-call tool
If a business depends on someone answering, use a real incident tool. In PagerDuty, an escalation policy pages the first person and, if nobody acknowledges before the timeout, moves on to the next level until someone does. incident.io sets who is paged at each level and how long to wait, from alerts or from Slack. Atlassian stopped selling Opsgenie in June 2025 and ends support in April 2027, moving its on-call features into Jira Service Management and Compass, so check that before you pick it. Google's SRE book suggests an on-call engineer should face at most two incidents in a 12-hour shift, which shows how much those tools care about paging only when it matters.
LFG Alarm has no rotations, no escalation and no hand-off to a second person. What it does well is the rest of life: a side project, a two-person startup, a page you are waiting on, a group of friends who all want the same ring. It is one link, it rings loudly, and everyone you added hears it at the same moment.
Three examples
A visa appointment page. Lena has checked the same booking page every morning for three weeks. She points a website change monitor at the table of open slots and connects it to an anything alarm called "Visa slot open?", with a 30 minute cooldown. When a slot appears, her phone rings like an alarm instead of adding one more email.
A side project going down. Ade and Kofi run a small app between them. Their uptime monitor calls a friends alarm called "Site down", 10 minute cooldown, both of them on it. When it rings, the wake board shows who tapped I'm up first, which settles who is looking at it.
A course that opens without notice. Mia's university opens extra seats with no announcement. A cron script on her laptop checks the course page every five minutes and calls an anything alarm when "Registration closed" disappears, with a 60 minute cooldown so it does not keep ringing while she signs up.
Make it in the app
An anything alarm:
- On Alarms, tap 🔮 Anything.
- Under Cooldown, pick 1m, 5m, 10m, 30m or 1h.
- Choose private or friends, and tap Arm it.
- On the card, tap Copy, paste the link into your tool, then tap Test fire.
- Open the alarm in the studio to give it a name that says what happened and a sound you will not sleep through.
A post alarm:
- On Alarms, tap 👀 Social.
- Pick X, Twitch or YouTube, type the handle or channel and tap Next.
- On X, write what should wake you under What should wake you?. On Twitch or YouTube, tap When they go live or When they post a video.
- Choose who it is for and tap That's it.
Common mistakes
- Sending a GET. The link only rings on a POST.
- One alarm for everything. Nothing in the request is shown, so you will not know which monitor rang.
- A 1 minute cooldown on a script that runs every minute. You will be rung every minute.
- Pasting the link in a public repository or a shared doc. Use a secret, and tap New URL if it leaks.
- Leaving an iPhone on silent. Anything and post alarms respect the silent switch there.
Sources and further reading
- PagerDuty, Escalation policies and Incidents
- incident.io, Escalating
- Atlassian, Opsgenie end of sale and support
- Google, Site Reliability Engineering, chapter 11: Being On-Call
- Anything alarms and Post alarms in the LFG Alarm wiki
- How to make any app, script or feed ring your phone
LFG Alarm is not affiliated with PagerDuty, incident.io, Atlassian, Zapier, Make, IFTTT, GitHub, UptimeRobot or Apple.

