Automate your dictation: run Shortcuts, webhooks, and files when you finish speaking
OpenWhisp's Rules and output targets let you automate what happens when a dictation finishes: append it to a Markdown file, run a macOS Shortcut, POST it to a webhook, open a URL, or run a script — triggered by what you said. An openwhisp:// URL scheme also lets Raycast, Alfred, or any launcher start dictation. Everything fails open: if an action fails, your words are still typed.
Dictation usually ends the same way: the text lands in whatever app you’re in. But often that’s just step one — you wanted the note in your journal, the task in Things, the idea POSTed to a webhook that kicks off a workflow. OpenWhisp can now do that automatically, the moment you stop speaking.
Output targets: send a dictation somewhere other than the focused app
In Settings › Output › Output target you pick where the final transcript goes:
- A file — append each dictation to an Obsidian daily note, a Logseq journal, or any
.md/.txt, with an optional dated heading. - A macOS Shortcut — hand the text to any Shortcut you’ve built (add to Reminders, run AppleScript, whatever the Shortcuts ecosystem can do).
- A webhook — POST the transcript as JSON (text, language, app, timestamp) to Notion, Zapier, n8n, or your own endpoint, with optional auth headers.
Rules: trigger actions based on what you said
Rules (Settings › Rules) go a step further: they run actions when a transcript matches. A rule is a match condition — starts-with, contains, exact, or regex, optionally scoped to one app — plus an ordered list of actions: insert a snippet, open a URL (with {{text}} for the transcript), run a script, run a Shortcut, POST a webhook, or append to a file. Say the right trigger phrase and the automation fires.
Drive OpenWhisp from a launcher: the openwhisp:// scheme
OpenWhisp answers an openwhisp:// URL, so any launcher or script can control it — no CLI needed:
open "openwhisp://record" # start / stop dictation
open "openwhisp://paste-last-result" # paste the last result
open "openwhisp://refine?instruction=make%20it%20formal"
# chain verbs — they run in order, all-or-nothing
open "openwhisp://?switch-mode=email&record"Point Raycast or Alfred at one of these and bind it to a hotkey. The scheme deliberately exposes only a small, validated allow-list of safe verbs — never a shell string or an arbitrary file path — and rejects anything malformed as a whole.
Nothing gets dropped
The important design choice: every one of these is a fail-open side channel. If a webhook is down, a Shortcut errors, or a file can’t be written, your words still land in the focused app exactly as they always did. An automation can never cost you a dictation. And it’s all local by default — Rules run on dictation only, so an agent’s transcript never triggers them unless you opt in.
For the tinkerers
This is OpenWhisp leaning into its hackable, open-source nature: your voice becomes a trigger for whatever you can wire up on your own machine, with the safety of knowing the plumbing can only ever add to normal dictation, never break it.
Frequently asked questions
- Can OpenWhisp run a Shortcut or webhook when I finish dictating?
- Yes. Output targets can send the final transcript to a file, a macOS Shortcut, or a webhook, and Rules can run those actions (plus open URLs or run scripts) when a transcript matches a condition you set.
- Can I start OpenWhisp dictation from Raycast or Alfred?
- Yes. OpenWhisp answers an openwhisp:// URL scheme with a validated allow-list of verbs (record, refine, paste-last-result, switch-mode, and more), so any launcher or script can drive it.
- What happens to my text if an automation fails?
- Nothing is lost. Every output target and rule is fail-open: if a file, Shortcut, or webhook can't take the text, your words are still typed into the focused app as usual.
Try OpenWhisp
Free, open source, and 100% on-device dictation for Apple Silicon Macs.