Do · Actions · supported
OBS Studio Control
Run an OBS Studio WebSocket action. Uses the OBS settings from Settings > Connect.
action.obs_control · 2.8.0
Requirements and availability
OBS Studio WebSocket connection configured in Settings > Connect.
Picker contexts: automation, timer, command, pad.
Behavior
Execute only in the OBS Studio lane. Operation defaults get_status. Variable substitution covers scene/source names, URL and raw request fields. Return values are not automatically exported as template variables.
Configure in the app
Open: Do → Advanced Actions (commands only) → Add action
Steps
- Choose action category OBS Studio Control, select OBS Studio Control, and click Add action.
- Expand the action card. Configure the Fields below; check Editor defaults for your context and any operation-dependent fields.
- Choose resource values from real app pickers. Set output Platform separately from the trigger Where setting when the action offers it.
- Use Move action up / Move action down to position this action, then save the containing command, automation, timer or SheevPad button.
Limitations
- Picker availability does not supply missing event variables. Check prerequisites and originating provider.
- An action return value is not automatically a sequence variable. Only documented producers create template outputs.
Fields
| Field | Input / options | Defaults / limits | Availability |
|---|---|---|---|
OBS actionoperation | select
| Editor defaults: {"automation":"get_status","timer":"get_status","command":"get_status","pad":"get_status"} | Literal value / selected resource |
Scene namesceneName | text | Editor defaults: {"automation":null,"timer":null,"command":null,"pad":null} Example hint: Select scene | Supports variables |
Source namesourceName | text | Editor defaults: {"automation":null,"timer":null,"command":null,"pad":null} Example hint: Select source | Supports variables |
Stateenabled | select
| Editor defaults: {"automation":null,"timer":null,"command":null,"pad":null} | Literal value / selected resource |
Browser URLurl | text | Editor defaults: {"automation":null,"timer":null,"command":null,"pad":null} Example hint: http://localhost:3000/overlay | Supports variables |
Raw request typerequestType | text | Editor defaults: {"automation":null,"timer":null,"command":null,"pad":null} Example hint: GetVersion | Supports variables |
Raw request data JSONrequestData | textarea | Editor defaults: {"automation":null,"timer":null,"command":null,"pad":null} Example hint: {"sceneName":"Starting Soon"} | Supports variables |
Operations
Connection - Get status
get_statusRead connection/output status. Does not create a template variable.
Fields: No extra fields
Connection - Refresh SheevChat browser sources
refresh_browser_sourcesOBS only: refresh SheevChat browser sources using the OBS refresh path.
Fields: No extra fields
Scenes - Get current scene
get_current_sceneRead current program scene. Does not create a template variable.
Fields: No extra fields
Scenes - Set scene
set_current_sceneSelect a current scene and remember the previous scene for return.
Fields: sceneName
Scenes - Return to previous scene
previous_sceneReturn to the remembered previous scene; fail if none is available.
Fields: No extra fields
Sources - Toggle / set source visibility
source_visibilityResolve an exact scene item, including grouped items when reported. A saved sceneItemId/sourceSceneName disambiguates selection.
Fields: sceneName, sourceName, enabled
Audio - Toggle / set source mute
source_muteMute/unmute the selected audio source; missing state toggles.
Fields: sourceName, enabled
Stream / Record - Toggle streaming
stream_toggleControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Start streaming
stream_startControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Stop streaming
stream_stopControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Toggle recording
record_toggleControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Start recording
record_startControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Stop recording
record_stopControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Toggle replay buffer
replay_toggleControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Start replay buffer
replay_startControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Stop replay buffer
replay_stopControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Stream / Record - Save replay
replay_saveControl the named output in this provider only; start/stop/toggle/save have their literal meanings. Replay save requires an active replay buffer.
Fields: No extra fields
Advanced - Set browser source URL
browser_urlRequire source and nonempty URL; update browser source URL.
Fields: sourceName, url
Advanced - Raw OBS request
raw_requestRequire request type; blank JSON is {}; invalid JSON fails.
Fields: requestType, requestData
Contract details
- Declared Contexts
[ "timer", "automation" ]- Picker Contexts
[ "automation", "timer", "command", "pad" ]- Hidden From Picker
- false
- Required Variables
[]- Failure Behavior
- See the behavior for local skips/errors and context entries for sequence continuation.
- Outputs
[]
Examples
Illustrative configuration; replace fixture resources in the editor. This is not an import file.
{
"operation": "get_current_scene"
}Related entries
Source and verification
Source-reviewed for 2.8.0. Connected-service validation remains subject to release UAT.
- src/features/automations.js — ACTION_REGISTRY.obs_control
- public/index.html — getBuilderActionEntries / createDefaultAction
Source revision: 472fb34b484eeef0b663d28cacb628a7b9f14ff1