Skip to main content
Stream Automations connect live Sonoran CAD, Radio, FiveM, and LSPDFR activity to actions in Streamer.bot. A panic can switch an OBS scene, drawing a weapon can play an animation, or a dispatch update can send a chat message without creating a separate integration.
Stream Automations require the Pro version of Sonoran Studio, the Sonoran Studio desktop app, and Streamer.bot running on the same computer.

How it works

  1. The Studio desktop app receives realtime CAD and Radio events plus native-backed gameplay moments from the FiveM or LSPDFR integration.
  2. Studio converts a supported event into a Stream Automation event.
  3. If that event has a mapped Streamer.bot action, Studio invokes the action through Streamer.bot’s local WebSocket server.
  4. Studio includes the event name and any available unit, call, channel, location, priority, or panic data as action arguments.
An event mapped to Do nothing does not invoke Streamer.bot. Automations run locally, so both desktop applications must remain open.

Set up Streamer.bot

  1. Create an action

In Streamer.bot, create the action you want Studio to run. Add sub-actions such as changing an OBS scene, playing audio, showing a source, or sending a chat message. Make sure the action is enabled.

  1. Start the WebSocket server

In Streamer.bot, open Servers/Clients → WebSocket Server and start the server. The defaults are: Enable Auto Start if the server should start with Streamer.bot. If authentication is enabled and enforced, enter the same password in Sonoran Studio. See Streamer.bot’s WebSocket server configuration for more detail.

  1. Connect Sonoran Studio

  1. Open the Sonoran Studio desktop app and select Bot.
  2. Enter the WebSocket Port and Endpoint. Enter the password only if Streamer.bot requires one.
  3. Select Save & connect.
  4. Confirm that Studio reports Connected and loads your enabled Streamer.bot actions.
Studio only connects to Streamer.bot on the local computer. The password and event mappings are stored locally.

  1. Map and test events

Choose a Streamer.bot action beside each Sonoran event. Select Test to invoke that mapping immediately. A test supplies sonoranEvent, test, occurredAt, and the title Sonoran Studio test; live event-specific data appears only when the corresponding event actually occurs.

Supported events

Channel-only changes do not currently invoke a separate automation event. Call updates use Call changed, and call-note notifications use Call note. Gameplay moments are available from either the standalone or Sonoran CAD FiveM integration and from the LSPDFR integration. Set the two health limits directly beside their Streamer.bot mappings or in the Smart Device scene builder’s Health threshold event; the defaults are 35% and 50%, and the same limits drive lighting and Streamer.bot. Player revived combines respawns and revives because GTA natives expose the dead-to-alive transition, not the recovery system that caused it.

Action arguments

Every live action receives these arguments: CAD and Radio actions also receive sonoranSourceEvent, the original Studio event such as cad.panic.changed, and eventId, its unique realtime event ID. Gameplay actions receive sonoranSource as fivem or lspdfr. Depending on the moment, they can include weaponHash, health, maximumHealth, healthPercent, healthLowerThan, healthHigherThan, travelMode, vehicleClass, and vehicleModel. Studio also includes the following values when they are available for the event or current overlay state: communityId, serverId, unit, displayName, unitNumber, department, status, location, postal, callsign, channel, priority, callId, title, message, toneName, toneNames, and emergencyCall. Tone actions receive toneName for the first tone and toneNames for the complete tone sequence when available. Radio emergency-call actions receive emergencyCall as true. Panic actions additionally receive: Call actions can receive callAttached: true when a call attaches and false when it detaches. Streamer.bot exposes action arguments to sub-actions with %variable% syntax. For example, use %unitNumber%, %status%, or %sonoranEvent% in a compatible text field. Open Actions & Queues → Action History after a live event to inspect the values supplied to that run.
Optional arguments are omitted when Studio does not have a value. Design actions so missing unit, call, or location data does not cause the automation to fail.

Troubleshooting

Studio does not connect

  • Confirm Streamer.bot is running and its WebSocket server is started.
  • Verify the port and endpoint match. The defaults are 8080 and /.
  • If authentication is enabled, re-enter the matching password in Studio.
  • Keep the server address on 127.0.0.1; Studio intentionally connects only to the local computer.

An action is missing

Studio loads enabled actions reported by Streamer.bot. Enable the action, then select Reload actions in Studio.

A mapped action does not run

  • Confirm Studio shows Connected and the event is not set to Do nothing.
  • Use Test beside the mapping. If the test succeeds, wait for the real Sonoran event to inspect its full arguments.
  • Check Actions & Queues → Action History in Streamer.bot for the action result and supplied arguments.
  • CAD and Radio events require the desktop app to be signed into the same Sonoran account and community producing the activity. FiveM and LSPDFR gameplay moments require their local game integration and the Studio desktop app.

Advanced integrations

Local tools can list or invoke Streamer.bot actions and mapped Sonoran events through the Studio desktop API. See Developer Documentation.