New: AI Script Generator

Integrations

Send page changes anywhere

When a watch matches, RefreshPilot posts the event to a web address you choose. Five presets format the message for you; the Custom JSON preset reaches everything else.

How the delivery works

Every integration on this page is the same mechanism: the Monitor tab's Webhook option, pointed at a different URL. RefreshPilot builds the request in your browser and posts it directly to that address — nothing is relayed through a RefreshPilot server, so the destination sees your browser and nobody else does.

  1. 1Turn on Webhook in the Monitor tab's Alerts section — it is off by default.
  2. 2Pick the preset that matches your destination, then paste its URL.
  3. 3Press Test. Delivery confirms inline, so a wrong URL surfaces before the match you actually care about.

Webhooks are a PRO feature. The destination must be a public https address — localhost and private ranges like 192.168.x.x are rejected by design.

What every alert carries

Whatever the destination, the same six facts describe the match. The presets fold them into each service's own message format; Custom JSON hands them over untouched.

title
The watched page's title
url
The page address the match was found on
keyword
The keyword or expression that matched
snippet
A short slice of the surrounding text
mode
Which watch fired — found, lost, or any change
time
When it happened, in ISO 8601

Message text is capped at roughly 1900 characters, so a very long snippet is trimmed rather than rejected.

Every destination, with its payload

Slack

Built-in preset

Create an incoming webhook for a channel in your Slack workspace and paste its URL. The alert arrives as an ordinary channel message.

The URL you paste

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

What the destination receives

{
  "text": "RefreshPilot — Keyword found: \"in stock\"\nshop.example.com/sneakers"
}
Read the step-by-step guide

Discord

Built-in preset

Create an incoming webhook on a Discord channel and paste its URL. The alert posts as a normal message from the webhook's name.

The URL you paste

https://discord.com/api/webhooks/000000000000000000/XXXXXXXXXXXXXXXXXXXXXXXX

What the destination receives

{
  "content": "RefreshPilot — Keyword found: \"in stock\"\nshop.example.com/sneakers"
}
Read the step-by-step guide

Telegram

Built-in preset

Telegram goes through a bot, so the token and your chat id are both part of the URL. Paste the whole thing exactly in this shape — the bot token on its own will not deliver.

The URL you paste

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

What the destination receives

{
  "text": "RefreshPilot — Keyword found: \"in stock\"\nshop.example.com/sneakers"
}
Read the step-by-step guide

ntfy

Built-in preset

Subscribe to a topic in the ntfy app and paste that topic's URL. The alert arrives as a plain-text push with the page title carried in the Title header.

The URL you paste

https://ntfy.sh/your-topic-name

What the destination receives

Title: Sneakers — Example Shop

Keyword found: "in stock"
shop.example.com/sneakers
Read the step-by-step guide

Zapier

Via Custom JSON

Zapier has no dedicated preset and does not need one. Add a Webhooks by Zapier trigger, choose Catch Hook, and paste the URL it gives you into the Custom JSON preset — every field below arrives as a named value you can map into any of Zapier's apps.

The URL you paste

https://hooks.zapier.com/hooks/catch/000000/xxxxxx/

What the destination receives

{
  "source": "refresh-pilot",
  "title": "Sneakers — Example Shop",
  "url": "https://shop.example.com/sneakers",
  "keyword": "in stock",
  "snippet": "In stock — ships tomorrow",
  "mode": "found",
  "time": "2026-08-13T09:24:11.000Z"
}
Read the step-by-step guide

Trustpilot and other review pages

Via Custom JSON

Trustpilot is a page to watch rather than a place to post. Point a watch at your company's review page, monitor just the review list with the area selector so the rest of the page cannot trigger it, and route the alert to any destination above. A new review then reaches your team without anyone refreshing a tab.

The URL you paste

Any of the destinations above

What the destination receives

{
  "source": "refresh-pilot",
  "title": "Example Ltd Reviews | Trustpilot",
  "url": "https://www.trustpilot.com/review/example.com",
  "keyword": "any change",
  "snippet": "Rated 4.6 · 1,284 reviews",
  "mode": "change",
  "time": "2026-08-13T09:24:11.000Z"
}
Read the step-by-step guide

Your own endpoint

Via Custom JSON

Any https address you control. RefreshPilot sends a POST with a JSON body and no authentication header, so put the secret in the URL itself if the endpoint needs one. This is also the route to n8n, Make, Home Assistant and anything else that accepts a JSON POST.

The URL you paste

https://api.example.com/hooks/refresh-pilot?token=…

What the destination receives

POST /hooks/refresh-pilot HTTP/1.1
Content-Type: application/json

{
  "source": "refresh-pilot",
  "title": "Sneakers — Example Shop",
  "url": "https://shop.example.com/sneakers",
  "keyword": "in stock",
  "snippet": "In stock — ships tomorrow",
  "mode": "found",
  "time": "2026-08-13T09:24:11.000Z"
}
Read the step-by-step guide

FAQ

Good questions

Jawaban lugas soal cara kerjanya, apa yang gratis, dan apa yang dibuka PRO. Ada yang kurang? Kami balas dalam satu hari kerja.

Masih ada pertanyaan?

Ceritakan apa yang kamu pantau — kami membalas setiap pesan dalam satu hari kerja.

Hubungi support
Do webhooks pass through RefreshPilot's servers?

No. The request is built and sent by the extension in your browser, straight to the address you configured. Our servers never see the page, the match or the destination.

Why is my webhook test failing?

Two causes cover almost every case. The destination must be a public https address, so localhost, 127.0.0.1, 192.168.x.x and 10.x.x.x are refused by design. And Telegram needs the complete URL including the bot token and chat id — the token alone is not enough.

Can one watch post to several destinations?

One webhook URL is configured per watch. To reach several places at once, point the Custom JSON preset at an automation tool such as Zapier or n8n and let it fan the event out.

Can I change the message format?

The five presets each use their service's expected shape and are not editable. Custom JSON sends the full event, so any formatting you need is done at the receiving end.

How often will a webhook fire?

At most once every 20 seconds per watch, which is the same throttle every alert type uses. Turning on Stop on match — the default — means it fires once and the job stops.

Are webhooks available on the free plan?

No, webhooks are part of PRO, which is $2.99 a year. Desktop notifications and one keyword in found mode are free forever.

Mulai

Berhenti mengecek.
Mulai memantau.

Biarkan RefreshPilot memuat ulang halaman, mengawasi perubahan, dan memberi tahu kamu saat sesuatu yang penting terjadi.

Paket Gratis selamanya · Tanpa kartu di awal · Monitor pertama aktif dalam semenit