Skip to content
Automation

Six surfaces, one thin strip.

Whatever already controls your stream can drive flexMeter. Trigger tally on when you hit Record. Push a segment label from your rundown. Receive a webhook the moment dead air is detected.

flex:// URL scheme

For Stream Deck, Automator, Terminal, and anything that opens a URL.

open "flex://tally?color=red&animation=blink"
open "flex://text?content=WRAP%20UP&color=white&background=000"
open "flex://clear"

Named colors (red, green, amber, blue, white, black) resolve to hex. URL-encoded spaces in content are decoded. No auth required — local URL handler.

WebSocket API

Persistent, real-time control gated by a per-machine Keychain token.

{"command":"auth","token":"…"}
{"command":"tally","color":"red","animation":"pulse"}
{"command":"text","content":"BREAK","background":"#000","color":"#fff"}
{"command":"subscribe","stream":"levels"}

Binds localhost:9812 only. Web-scheme origins rejected at handshake. Four-client cap. API version 3 adds a 10 Hz levels push stream.

OSC over UDP

Bonjour-discoverable as _osc._udp. For TouchOSC, Lemur, QLab, MA Lighting.

/flexmeter/tally/on red
/flexmeter/text "STAND BY"
/flexmeter/airlog/start

Lighting consoles address flexMeter directly. Companion apps browse without manual IP entry.

Outgoing webhooks

Make, Zapier, Slack, or any HTTP endpoint receives broadcast events.

POST https://hooks.example.com/feed
{"event":"tally_on","color":"red","ts":"2026-05-23T17:42:08Z"}
{"event":"airlog_end","lufs":-16.4,"lra":4.2,"tp":-1.1}

A "Send Test Event" button in Settings confirms delivery. Test payloads carry event type "test" so you can branch on it.

AppleScript

A scripting dictionary for tally, Text Strip, Air Log, and presets.

tell application "flexMeter"
  set tally to {color:"red", animation:"blink"}
  set text strip content to "GUEST: A. Lovelace"
end tell

ProPresenter cues. OSAScript on the command line. Open the dictionary in Script Editor (File → Open Dictionary → flexMeter).

App Intents — Shortcuts & Siri

Tally and text strip control from Shortcuts.app and Siri voice commands.

Hey Siri, go on air with flexMeter
Shortcut: "Show segment label" → ShowTextIntent
Get Current Loudness → snippet card

Five action intents and three read-only UI Snippet intents. No app launch required.

Focus Filters

Each Focus mode is a config.

When the Focus activates, flexMeter applies the preset, flips the tally, starts an Air Log session, and shows the palette — without ever launching a window.

  • Workflow Preset Streaming · Podcast · Broadcast · Classic VU · Peak Watch
  • Enable Tally On / off
  • Start Air Log session On / off
  • Show Metering Palette On / off
Recipes

What this looks like in practice.

Stream Deck — Go on air, start Air Log, push label

Bind one Stream Deck button to a Multi Action that hits the OBS "Start Streaming" hotkey, opens flex://tally?color=red&animation=blink via the Open URL action, and then opens flex://text?content=LIVE&background=cc1100. Auto-cascade Tally → Air Log starts the session for you.

QLab cue — push a segment name from a rundown

Add a Network → OSC cue addressed to flexMeter (Bonjour-resolved). Send /flexmeter/text "SEGMENT 3 · A. LOVELACE". The Text Strip updates in real time; the same value broadcasts to any paired iPhone Companion.

Focus Mode — apply a preset on schedule

Open System Settings → Focus → App Filters → flexMeter. Set the Workflow Preset to Broadcast, enable Tally, start an Air Log session, and show the Metering Palette. When the Focus turns on, flexMeter applies it without ever opening a window.

Footswitch — push to talk on hardware

In Settings → Modules → Push to Talk, click "Change" and press your footswitch. Hold the switch to flip Tally to red; release to clear. CallKit auto-Tally still works in parallel for inbound calls.

Automation is Pro.

All six surfaces — flex://, WebSocket, OSC, webhooks, AppleScript, App Intents — unlock with Pro. CoreMIDI, CallKit, Push to Talk, the iPhone Companion, and the AUv3 plug-in come with it.