Documentation
Shortcuts & Scripting
Since v1.2.1, Zoundry can be controlled from outside the app: through Siri and the Shortcuts app, or
through a zoundry:// URL scheme that works from Alfred, Raycast, Terminal, or any tool that
can open a URL. No setup or toggle required. It works as soon as Zoundry is running.
- 8 App Intents
- 17 URL commands
- 0 Setup required
Siri & the Shortcuts app
Zoundry exposes eight App Intents to the Shortcuts app. You can chain them into your own shortcuts, or trigger the ones below by voice or from Spotlight using their built-in phrases.
App volume & mute
| Intent | Parameters | Siri / Spotlight phrase |
|---|---|---|
| Set App Mute | app, action (mute / unmute / toggle) |
"Mute {app} in Zoundry", "Unmute {app} in Zoundry", "Silence {app} in Zoundry" |
| Set App Volume | app, volume (0–100) |
"Set {app} volume in Zoundry" |
| Get App Volume | app |
Shortcuts app only (no voice phrase) |
| List Audio Apps | none | Shortcuts app only (no voice phrase) |
Output device volume & mute
| Intent | Parameters | Siri / Spotlight phrase |
|---|---|---|
| Set Device Volume | device (optional), volume (0–100) |
"Set output volume in Zoundry" |
| Get Device Volume | device (optional) |
"Get output volume in Zoundry" |
| Set Device Mute | device (optional), action (mute / unmute / toggle) |
"Mute output device in Zoundry", "Unmute output device in Zoundry" |
| List Output Devices | none | Shortcuts app only (no voice phrase) |
The zoundry:// URL scheme
Every command below can be triggered with open "zoundry://...", which makes them usable
from Terminal, Alfred workflows, Raycast scripts, or a Shortcuts "Open URL" action. Apps and devices can
be addressed by name or by bundle ID / UID, case-insensitive.
Write commands
These change state and return nothing.
zoundry://set-volume?app=<name-or-bundleID>&volume=<0-100>
zoundry://mute?app=<name-or-bundleID>
zoundry://unmute?app=<name-or-bundleID>
zoundry://toggle-mute?app=<name-or-bundleID>
zoundry://set-preset-mute?app=<bundleID>&muted=<true|false>
zoundry://set-device-volume?volume=<0-100>[&device=<name-or-uid>]
zoundry://mute-device[?device=<name-or-uid>]
zoundry://unmute-device[?device=<name-or-uid>]
zoundry://toggle-device-mute[?device=<name-or-uid>]
Read commands
These copy their result to the clipboard, ready to paste into whatever triggered them.
zoundry://get-volume?app=<name-or-bundleID> → "0"–"100"
zoundry://get-mute?app=<name-or-bundleID> → "true" / "false"
zoundry://get-preset-volume?app=<bundleID> → "0"–"100" (saved, works even if app is closed)
zoundry://list-apps → JSON: [{name, bundleID, volume, muted}]
zoundry://list-saved-apps → JSON: closed apps with saved settings
zoundry://get-device-volume[?device=<name-or-uid>] → "0"–"100"
zoundry://get-device-mute[?device=<name-or-uid>] → "true" / "false"
zoundry://list-devices → JSON: [{name, uid, isDefault, volume, muted}]
Examples
From Terminal:
open "zoundry://set-volume?app=Spotify&volume=40"
open "zoundry://mute?app=com.apple.Music"
open "zoundry://toggle-device-mute"
In Alfred or Raycast, wire a workflow's "Open URL" action to the same zoundry:// strings.
In the Shortcuts app, use "Open URLs" for one-off commands, or drop the App Intents above directly into
a shortcut for values you want to branch on (volume levels, mute state, app lists).