Send a Slack webhook when a Chrome page changes

Send a Slack, Discord, or ntfy message when a Chrome page matches your condition. Configure a webhook, test delivery, and avoid alerts on a timeout.

To send a Slack, Discord, or ntfy message when a page matches a condition, add If / Else and place Send Alert in its Then branch. Enable Webhook on the alert and select a destination you saved in Settings.

Keep Chrome open during the run. The extension sends the message directly from this computer to the destination.

When a webhook should fire

You’ll need Tab Automation installed. Custom automations are free; Explorer unlocks the full Dashboard. Google Search is coming soon. The side-panel tour covers first-time setup.

First decide what should trigger the message:

  • Use Wait / Delay Until when the loaded page may change later and the automation should poll until it does.
  • Use If / Else when the next steps depend on the page right now, at that step.
  • Use Send Alert only where a message should go out.

If / Else does not keep watching. Wait Until checks repeatedly with about 250 milliseconds between polls until the condition succeeds or the timeout ends. A timeout records a warning and the graph continues, so Send Alert after Until also runs after a timeout. Pause when this wait succeeds skips later steps, including that alert. For reload-until-found recipes, see auto refresh until text appears.

For a page that updates in place, use Wait Until → If / Else → Send Alert in Then, with pause-on-success off. Configure If / Else to check the desired state again. A timed-out wait then sends nothing unless that state matches at the second check.

Add a destination in Settings

  1. Open the Tab Automation side panel.
  2. Open Settings using the gear in the panel header.
  3. Under Webhooks, click Add a destination.
  4. Give it a name and paste an HTTPS URL. HTTP is allowed only on this computer (localhost, 127.0.0.1, or ::1).
  5. Save. Destinations are a shared library on this computer.

Create the URL in the service you already use:

  • Slack: create an app, enable Incoming Webhooks, and add a webhook to the intended channel using Slack’s setup guide. Paste the generated URL. Keep it private: the URL grants permission to post.
  • Discord: create a webhook for the intended channel and copy its URL. Discord’s webhook guide explains the channel controls.
  • ntfy: use a topic URL on ntfy.sh and subscribe to that topic to receive messages. Check the topic’s publishing permissions in ntfy’s documentation.

Tab Automation chooses the message format from the URL. Other endpoints receive its generic JSON payload, including self-hosted ntfy servers. It does not add custom authentication headers, send browser login cookies, or follow redirects. Use an endpoint that accepts that request format; an arbitrary HTTPS URL is not enough.

Enable and test the webhook

  1. Add Send Alert inside the If / Else branch that should notify. For the Ready example below, use Then.
  2. Turn Webhook on. Add Step leaves desktop notification and sound on; you can leave those on or turn one off.
  3. Pick one or more destinations. Optionally override the message on this step.
  4. Click Test on Webhook only. That button sends to the destinations on this step and does not use Chrome’s OS notification permission.

Repeat Each cycle and When it stops can also send a webhook. Both stay off until you enable them. Each moment picks its own destinations.

Use {{name}} in the message to insert a Values name saved earlier in the graph. Settings Test has no saved run values, so it warns if the message contains a placeholder such as {{name}}.

Nothing posts until a destination is selected and Webhook is on for that moment.

Example: alert when a status reads Ready

This example sends a message only when a selected status matches Ready. Configure the destination and test its delivery first.

  1. Choose New Automation. Under Tab & Startup, turn off Always start this automation in a new tab and choose the status page.
  2. Add Refresh Page if that page needs a reload to update. Add Wait / Delay afterward if its status loads late.
  3. Add If / Else. Use Pick on page for the status element, choose equals, and compare with the Text value Ready.
  4. Place Send Alert inside Then, enable Webhook, and select your tested destination. Leave Else empty.
  5. Turn Repeat off for one check, or turn it on and choose a wait for recurring checks, then choose Save & Run.

Check Activity for the condition result and webhook delivery. With Repeat on, this recipe sends on every cycle that matches; it does not remember that you were already notified. A non-matching status follows Else without sending.

What the destination receives

Slack, Discord, and ntfy show the resolved message, the current page URL, and the event (notify, cycle, stop, or test). Chrome sends that from this computer. Delivery waits up to five seconds. A failed or timed-out send does not stop the automation.

Any other HTTPS URL receives the same facts as a JSON body. A self-hosted ntfy server is treated that way too.

Open Activity for a redacted delivery line. The URL and secrets are not written in full.

Desktop notification vs webhook

Desktop Test asks the operating system to show a Chrome banner. If that test is silent, follow Chrome notifications not working. Allow Google Chrome in the OS. Website notification settings for a page are a different switch.

Webhook Test is a separate check. It does not use that OS permission.

Delivery limits

  • Wait Until only polls during that step. It is not a background watcher after the run ends.
  • There is no email or SMS. Destinations are HTTPS webhooks you saved in Settings.
  • There is no clock-time start. Repeat waits between cycles; it does not start at 9:00.
  • Some tabs cannot be automated. Chrome UI pages, extension pages, and the Chrome Web Store are excluded.

Automations and destinations stay in chrome.storage.local on this computer. Read the privacy policy for permissions and data handling.

Claim a free 6-month Explorer License for the full Dashboard. The Explorer License is available for a limited time.

No credit or debit card required.

Learn about the Explorer License

Get your free Explorer License

Tab Automation isn’t available in the Chrome Web Store yet. Claim your Explorer License now, and we’ll email you at your checkout email address when it’s ready to install.

Your six-month license period starts when your key is issued, including time before the extension becomes available.

No credit or debit card required. Explorer won’t automatically become a paid subscription. You can choose to purchase a paid license later.

Get my free Explorer License