# Test alerts and check OBS delivery

Choose the right test for an alert, check that the Browser Source shows it, and watch the alert queue on the Live page.

Updated 21 October 2026

## Choose the test that matches your source

Every alert test starts from the alert itself: open **Overlays**, open the overlay and click its alert layer. The panel has two tests, and they go to different places.

> **Pebble can check it with you**
>
> Pebble’s **Set up your bot** tutorial (and **Your first overlay**, for channels linked earlier) ends with **Test published output…**. Watch and listen in your streaming app to check the result; the tutorial uses the overlay’s playback reports to follow your progress. If you put the stream step off, **Put your alerts on stream** under Next steps on **Overview** picks it up. If it doesn’t, Pebble says what it can see: nothing open yet, or something open that isn’t this overlay. Start it from [Tutorials](https://bloopbot.com/docs/tutorials).

| You want to check | Use | Reaches OBS? |
| --- | --- | --- |
| How the design looks | **Test in editor** in the alert panel, or **Test** on the layer’s toolbar | No — the editor’s canvas only, with your draft |
| That OBS shows it | **Test published output…**, then **Play it on stream** | Yes, through the real alert queue — viewers may see it. It uses the published design; check the result in OBS |
| Every alert on one overlay | **Simulate** in the top bar → **Test events** | Only if you tick **Also play on the live overlay in OBS** |
| That your flow’s checks pass | **Test fire** in the flow editor | No — a dry run |
| Your own HTML widget | **Test published output…** on any alert layer (below) | Yes, to every connected source that takes alerts |

None of these posts to Twitch chat. [Show alerts on stream](https://bloopbot.com/docs/alerts) covers setting alerts up; this guide is about checking that they arrive.

## Send an alert to a custom overlay

1. On **Overlays → Custom overlays**, choose the named overlay. Grant **stage.alert** and the matching `alert_design:name` record under **Data access**. Your page must subscribe to `stage.alert` with the [Overlay SDK](https://bloopbot.com/developers/overlays).
2. Keep its OBS scene visible, then press the refresh icon (**Refresh status**). The named overlay should show a connected source.
3. Open an overlay design, select an alert layer and press **Test published output…**, then **Play it on stream**.
4. Watch OBS. The test joins the alert queue and reaches your custom overlay. It does not send a Twitch event or run the flow.

See [Connect your own HTML overlay](https://bloopbot.com/docs/custom-widgets) for setup. Grant and subscribe to other event types separately when your page draws them.

## Test a hosted overlay

1. In OBS, make the scene with the overlay’s Browser Source visible. Its URL comes from **OBS URL** in the editor’s top bar.
2. In the editor, check the chip in the top bar reads **Published**. For pending designs, press **Publish**, review the named changes and affected overlays, then confirm Publish. Unticked parts stay in your draft: OBS uses only published designs. Published does not confirm that the source is showing in OBS.
3. Select the alert layer, press **Test published output…** and confirm with **Play it on stream**.
4. Read the sentence under the button and watch OBS.

**Playing now on your overlay.** reports the queue’s playback state; it does not prove that OBS displayed or played it. Check your streaming app. **Queued — number 2 in line.** means other alerts were ahead of it. **Queued, but no overlay open in OBS right now shows the raid design** means no open Browser Source has a layer for that design: check the scene is visible and the source has the current URL. **OBS does not have the raid design yet** means it is only in your draft — publish, then test again.

The alert workspace’s **Published output** disclosure separates that queue reply from the selected overlay’s evidence. It shows the published overlay revision, historical load marks and latest channel test for the design. **Source connection** and **Visible or audible playback** stay **Unknown**: a historical OBS load does not prove a connection now, and an accepted test frame does not identify its receiving overlay or version. Use **Refresh output evidence** to check again, or retry a failed check, then confirm the picture and sound in OBS.

The **Live** page’s **Alerts** card shows the same test as **Test · raid**, playing or up next, **Waiting for an overlay with alerts in OBS** while nothing that shows alerts is open, **Held: your overlay is hidden in OBS** while the overlay is open but its source is hidden, and **alerts held: no open overlay shows the design …** when the overlays you have open have no layer for that design.

## Check the behaviour separately

A test from the alert panel plays the design itself: it does not run the flow, so the flow’s checks — a minimum number of bits, a moderators-only command — are not tested by it. Use the flow editor’s **Test fire** for those: it runs the flow on a made-up event and its Run log says whether it “would play” the alert, without sending anything to Twitch or your overlay. To change what plays an alert, use **Plays on** in the alert panel, or **Open flow** on one of its rows.

> **Nothing arrives in OBS**
>
> Make the OBS scene visible and check the Browser Source URL against **OBS URL** in the editor. OBS may close a source whose scene is hidden. After you make a new URL, paste it into every source that used the old one.
