Refresh Pilot Docs

Webhook alerts PRO

A webhook is simply a web address that accepts messages โ€” chat apps give you one, and Refresh Pilot posts your match alert to it. That's how a restock on your desk becomes a ping on your phone, in Discord, Slack, Telegram or ntfy.

๐ŸŒ Watched page
"in stock" appears
โ†’ ๐Ÿ“ก Webhook
Refresh Pilot posts a message
โ†’ ๐Ÿ’ฌ Your chat app
ping on every device

The match travels from the page, through your webhook URL, into the chat app of your choice.

Setting it up

  1. In the Monitor tab, open the Alerts section and turn on Webhook (off by default).
  2. Pick your service in the preset dropdown: Custom JSON / Discord / Slack / Telegram / ntfy.
  3. Paste the webhook URL from your app (see the per-service notes below).
  4. Click Test. You'll see Delivered โœ“ inline โ€” or the error, so you can fix the URL before the real match happens.

Service by service

Discord

Create an incoming webhook for a channel in your Discord server and paste its URL. Refresh Pilot formats the alert as a {content} message โ€” it shows up as a normal post in the channel.

Slack

Create an incoming webhook in your Slack workspace and paste its URL. The alert is sent as a {text} message to the channel the webhook belongs to.

Telegram

Telegram works through a bot. You need the bot's token and your chat id, combined into one full URL in exactly this format:

https://api.telegram.org/bot<token>/sendMessage?chat_id=<id>

Replace <token> with your bot token and <id> with your chat id. The alert is sent as the message {text}.

ntfy

ntfy is a simple push service: subscribe to a topic in the ntfy app, paste the topic's URL here. The alert arrives as a plain-text push with the page title carried in the Title header.

Custom JSON

For your own server or automation tool. Refresh Pilot posts the full alert as JSON: {source:'refresh-pilot', title, url, keyword, snippet, mode, time}.

Quick reference

ServiceURL you pasteMessage format
Discordthe channel's webhook URL{content}
Slackthe workspace's incoming-webhook URL{text}
Telegramhttps://api.telegram.org/bot<token>/sendMessage?chat_id=<id>{text}
ntfyyour topic URLplain text + Title header
Custom JSONany https endpoint you controlfull JSON payload

What gets sent

Every alert carries the same six facts: the page title, its url, the matched keyword, a short snippet of the surrounding text, the monitor mode, and the time (in ISO format). Message text is capped at roughly 1900 characters, so very long snippets get trimmed.

discord.com/channels/restock-watch
๐Ÿ’ฌRefresh Pilot โ€” Keyword found: "in stock" ยท shop.example.com/sneakers

What it looks like on the other end: the alert lands as a chat message in your channel.

Limits to know about

โš ๏ธ Private addresses are rejected. For safety, webhooks must be public http(s) URLs. Local and private network addresses โ€” localhost, 127.*, 10.*, 192.168.*, 172.16โ€“31.*, 169.254.*, *.local and their IPv6 equivalents โ€” won't be accepted.
๐Ÿ’ก Next: get matches by email, auto-click "Add to cart", and decide whether refreshing stops or continues โ€” Email & match actions.