Connect your tools
Every Flow action can reach your existing tools: OBS, generic webhooks (Streamer.bot, n8n, Zapier, Make…), Discord and Home Assistant. This page gives you the copy-paste recipes.
The standard webhook envelope
When a rule fires a Webhook action, Retro Creator POSTs this JSON:
{
"source": "RetroCreator",
"event": "resource.gained",
"timestamp": "2026-07-12T14:03:22.123Z",
"game": { "name": "Sonic The Hedgehog", "system": "megadrive" },
"payload": { "actionType": "COIN_GAIN" }
}
Built-in safeguards: 1 s cooldown per URL, one automatic retry on server errors, 5 s timeout. Use the ⚡ Test button next to the action to send a sample event instantly.
Custom body & headers
If your tool expects its own format, fill the Custom body field — it
replaces the standard envelope and supports placeholders: {game},
{value}, {counter.name} and any payload field. Add HTTP headers
(one Name: value per line) for tools that require a token.
Recipes
Home Assistant
- Automation → Trigger → Webhook, pick an id (e.g.
retrocreator). - In the Flow action, URL:
http://homeassistant.local:8123/api/webhook/retrocreator. - Use the data in your automation:
{{ trigger.json.event }},{{ trigger.json.game.name }}.
Streamer.bot
- Enable its HTTP Server (Settings → Servers, default port 7474).
- Pick the Streamer.bot preset in the Flow action — it pre-fills
http://127.0.0.1:7474/DoActionand the body template:{"action": {"name": "MyAction"}, "args": {"game": "{game}"}}. - Replace
MyActionwith your Streamer.bot action name. From there you can drive Stream Deck, Touch Portal, sounds, chat messages…
n8n / Zapier / Make
Create a Webhook trigger in your scenario and paste its URL in the Flow action. The standard envelope arrives as-is — map the fields you need.
Discord
Use the dedicated Discord action with a channel webhook URL (channel settings → Integrations → Webhooks). Messages support the same placeholders.
Stream Deck
Retro Creator exposes a simple local HTTP API — any Stream Deck HTTP plugin (e.g. API Ninja or a System → Open action for GET calls) can drive it:
- Show live status on a button — poll
GET http://127.0.0.1:19780/api/status. It returns{ "status", "game", "system", "edition" }: perfect for a "what's running" key. - Fire a popup on stream —
POST http://127.0.0.1:19780/api/actions/achievement-popupwith body{"title": "Hydrate!", "points": 0}. - Trigger any flow —
POST http://127.0.0.1:19780/api/simulatewith body{"action": "COIN_GAIN", "value": 10}. This injects a game event into the pipeline, so every flow rule reacts as if the game had sent it — one deck key can drive counters, scenes, webhooks and popups at once.
Touch Portal
Same API, no plugin required: create a button, add the built-in
Send HTTP request action (method POST, content type JSON) and paste one
of the calls above. Poll /api/status to display the current game on your
Touch Portal page.
Ephemeral states ("For…")
Popups, OBS scene switches and source visibility accept a For duration (5 s to 10 min, or unlimited). When it ends, Retro Creator restores the previous state by itself: the scene switches back, the source re-hides, the popup closes. Great for temporary alerts and reaction scenes.