Send a practice alert to a test receiver, then follow how the sandbox delivers it, tries again when the receiver fails, and makes sure it is never processed twice. Every alert here is synthetic. New here? Try a guided scenario.

Compose an alert

Sample alerts

Pick one to start. You can edit the words before sending.

15 of 100 characters

34 of 500 characters

Sending starts a private demo session: anonymous, no sign-up, and it ends after 24 hours.

Preview

Sample alert

Service request

Synthetic room A needs assistance.

View request JSON

            

The demo token is sent in the Authorization header but is never shown on this page. The Idempotency-Key lets the sandbox recognize a repeated request, so checking again can never create a second alert.

Test receiver: Works normally (the default for a new session)The scenarios below can change this.

Alert journey

Animations only illustrate what the delivery service reports. They are not real transmission timing. Turning them off changes nothing else.

Send an alert to see its journey here, step by step.

Your alert

Not started

What you send.

Delivery service

Not started

Saves your alert, sends it, and tries again if needed.

Receiving system

Not started

A test system inside this sandbox that confirms and processes alerts.

Recent alerts

  • Your alerts will appear here.

Try a scenario

Send a normal alert, or follow a short guide through a failure and its recovery. Guides never start by themselves, and each step waits for what the sandbox actually reports.

Normal delivery

The receiver works normally. Send one alert and follow it from start to finish.

Sets the receiver back to "Works normally" if needed, then sends one alert.

Recover from a temporary problem

The receiver rejects the first try. You restore it, and a scheduled retry succeeds.

Sets your receiver to "Temporary outage" for the whole session, then sends one alert. One step at a time.

Avoid processing twice

The receiver processes the alert but replies too late. A retry is recognized as the same alert.

Sets your receiver to "Processes, then replies late" for the whole session, then sends one alert. One step at a time.

Rescue a stopped delivery

Every automatic try fails. You restore the receiver and retry the delivery by hand.

Sets your receiver to "Temporary outage" for the whole session, then sends one alert. One step at a time.

Set the test receiver yourself

How should the test receiver respond?

Applies to every alert in your session, including tries that are already waiting.

Technical details

This page uses the sandbox's public API on the same server. Every status you see comes from the API; nothing is simulated in the browser. The full reference is in the API documentation (OpenAPI specification).

Service status

Checks /health (the process is running) and /ready (the database is reachable and migrated). Neither proves that the delivery worker is running.

Not checked yet.

Session summary

Start a session to see a summary.

How the demo session token is stored

Starting a session gives this tab an anonymous token that expires after 24 hours. It is kept in this tab's sessionStorage: it survives a reload, disappears when the tab closes, and is never put in a URL or shown on the page. Any script running on this page could read it, which is acceptable for a throwaway demo credential with no personal data, but not for real accounts (those would use HttpOnly cookies). The page loads only its own scripts and never inserts received text as HTML.