OBS
Trigger OBS actions from Voice Action to control scenes, audio, streaming, recording, transitions, studio mode, and camera/filter settings over obs-websocket without keeping the app in the foreground; this action is .pro-gated and available on iOS, macOS, and Mac Catalyst.
Required Parameters
host- Connection endpoint for OBS WebSocket.
- If
hostincludesws://orwss://, it is used as-is and theport/useTLSvalues are ignored.
port- Integer input with constraints
0to65535; default4455. - Used only when
hostdoes not already include a scheme.
- Integer input with constraints
useTLS- Boolean that selects
wsswhenhosthas no scheme. - Ignored when
hostincludesws://orwss://.
- Boolean that selects
password- Optional; blank means no password is sent.
command- Required command selection from the OBS command list.
- Command parameter defaults and parsing rules (derived from shared runtime behavior):
- String parameters send raw trimmed text.
- Int parameters parse with
Int(...); invalid/missing values fall back to0. - Float parameters parse with
Double(...); invalid/missing values fall back to0. - Bool parameters parse with
NSString.boolValue; invalid/non-empty values evaluate tofalseunless the command has a default, in which case the default is used when blank.
Commands
Set Program Scene
- Required inputs:
sceneName - Constraints/ranges: none enforced beyond string trim; empty string allowed.
- Supported targets/options: sends OBS request
SetCurrentProgramScene.
Set Preview Scene
- Required inputs:
sceneName - Constraints/ranges: none enforced beyond string trim; empty string allowed.
- Supported targets/options: sends OBS request
SetCurrentPreviewScene.
Set Scene Collection
- Required inputs:
sceneCollectionName - Constraints/ranges: none enforced beyond string trim; empty string allowed.
- Supported targets/options: sends OBS request
SetCurrentSceneCollection.
Set Profile
- Required inputs:
profileName - Constraints/ranges: none enforced beyond string trim; empty string allowed.
- Supported targets/options: sends OBS request
SetCurrentProfile.
Set Transition
- Required inputs:
transitionName - Constraints/ranges: none enforced beyond string trim; empty string allowed.
- Supported targets/options: sends OBS request
SetCurrentSceneTransition.
Set Transition Duration
- Required inputs:
transitionDuration(int, milliseconds) - Constraints/ranges: no in-app min/max check; default is
300; invalid/missing values become0. - Supported targets/options: sends OBS request
SetSceneTransitionDuration.
Trigger Studio Transition
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
TriggerStudioModeTransition.
Set Studio Mode
- Required inputs:
studioModeEnabled(bool) - Constraints/ranges: default is
true; invalid or blank values map through bool parsing behavior. - Supported targets/options: sends OBS request
SetStudioModeEnabled.
Start Streaming
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StartStream.
Stop Streaming
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StopStream.
Toggle Streaming
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
ToggleStream.
Start Recording
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StartRecord.
Stop Recording
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StopRecord.
Pause Recording
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
PauseRecord.
Resume Recording
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
ResumeRecord.
Toggle Recording
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
ToggleRecord.
Start Replay Buffer
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StartReplayBuffer.
Stop Replay Buffer
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StopReplayBuffer.
Toggle Replay Buffer
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
ToggleReplayBuffer.
Save Replay Buffer
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
SaveReplayBuffer.
Start Virtual Camera
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StartVirtualCam.
Stop Virtual Camera
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
StopVirtualCam.
Toggle Virtual Camera
- Required inputs: none
- Constraints/ranges: none
- Supported targets/options: sends OBS request
ToggleVirtualCam.
Set Input Mute
- Required inputs:
inputName,inputMuted - Constraints/ranges:
inputMutedis bool; default istrue. - Unsupported combinations/notes: no validation prevents empty
inputName. - Supported targets/options: sends OBS request
SetInputMute.
Toggle Input Mute
- Required inputs:
inputName - Constraints/ranges: none enforced beyond string trim; empty string allowed.
- Supported targets/options: sends OBS request
ToggleInputMute.
Set Input Volume
- Required inputs:
inputName,inputVolumeMul - Constraints/ranges:
inputVolumeMulparsed as float, default1.0; no in-app clamp to0–1. - Supported targets/options: sends OBS request
SetInputVolume.
Set Source Filter Enabled
- Required inputs:
sourceName,filterName,filterEnabled - Constraints/ranges:
filterEnabledis bool; default istrue. - Unsupported combinations/notes: no validation prevents empty
sourceNameorfilterName. - Supported targets/options: sends OBS request
SetSourceFilterEnabled.