Workflows
Create app, website, hotkey, and global fallback workflows that transform dictation automatically.
How Workflows Work
When you start dictating, TypeWhisper matches the active app and current browser URL against your enabled workflows. Matching workflows can override language, task, engine, prompts, and related behavior automatically. The active workflow name is shown as a badge in the indicator together with why it matched.
Trigger Specificity
App + website
Use this for the most specific setup, such as Brave + x.com. If multiple equally specific workflows match, the higher priority wins.
Website only
Website workflows work across browsers. A workflow for github.com also covers subdomains like gist.github.com.
App only
App-only workflows activate as soon as one of the selected apps is active. Use them for tools like Mail, Slack, or Terminal when no website condition is needed.
Always fallback
An Always workflow becomes the global fallback. It only applies when no more specific workflow matches.
Priority
TypeWhisper resolves competing workflows in this order:
- App + website match
- Website-only match
- App-only match
- Always fallback workflow
Creating a Workflow
Go to Settings > Workflows and click "New Workflow". Pick a template, assign a trigger, then configure the behavior you want:
- • Apps - Limit the workflow to one or more selected apps
- • Websites - Match a browser tab by domain or subdomain pattern
- • Language - Keep auto-detect, pin one language, or restrict recognition to likely languages
- • Task - Transcribe or Translate where the selected engine supports it
- • Engine - WhisperKit, Parakeet TDT, Apple SpeechAnalyzer (macOS 26+), or any add-on engine
- • Prompt - Workflow-specific prompt instructions for automatic post-processing
- • Prompt Provider - LLM provider override for this workflow
- • Hotkey trigger - Run this workflow on demand, even when another automatic match would normally win
- • Auto-submit - Automatically send the inserted result in chat-style apps when appropriate
- • Priority - Break ties between equally specific workflows

Hotkey Workflows
You can assign a dedicated shortcut to run a workflow on demand. This replaces the old manual prompt-palette pattern with a workflow that has explicit trigger, behavior, and output settings.
Prompt Instructions
Workflows can attach prompt instructions and provider overrides to a specific context. This is the easiest way to automatically clean up dictation, format notes, or route text into a provider tailored to that app or website.
Use the Workflows guide for setup examples and common mistakes.
Multiple Engines
TypeWhisper can keep multiple engines loaded in memory at the same time. Switching between workflows that use different engines stays instant as long as those engines remain loaded. Configure which engines stay resident in Settings > Advanced.
App-aware Formatting
App-aware formatting is a lightweight formatting pass, not a semantic or AI-based app detection feature. The global toggle in Settings > Recording only enables this pass. You only see a visible effect when the matched workflow also sets an Output Format.
When dictation finishes, TypeWhisper passes the matched workflow's output format into the post-processing pipeline. If app-aware formatting is enabled, that formatting step runs before prompt/LLM processing, snippets, and dictionary corrections.
- • None - Disable additional formatting for this workflow.
- • Auto-Detect - Choose a format from a fixed app bundle ID mapping. Known Markdown apps include Obsidian, Notion, Typora, Bear, and Ulysses. Known HTML apps include Apple Mail and Outlook. Known code apps include Xcode, VS Code, Cursor, Zed, Terminal, and iTerm. Unknown apps fall back to plain text.
- • Markdown - Normalize list-like lines such as - item, * item, or dictated bullet item into Markdown list items.
- • HTML - Wrap paragraphs in <p> tags, convert bullet-like lines into <ul>/<li>, and escape HTML characters.
- • Plain Text - Currently leaves the text unchanged.
- • Code - Currently leaves the text unchanged.
Formatting examples
Obsidian with Auto-Detect
Markdown apps normalize bullet-like input into Markdown list items.
Input: bullet first item * second item Output: - first item - second item
Apple Mail with Auto-Detect
Mail-style apps receive simple HTML paragraphs and lists with escaped markup.
Input: hello <team> - launch Output: <p>hello <team></p> <ul> <li>launch</li> </ul>
Terminal or VS Code with Auto-Detect
Code apps currently use a pass-through mode, so the inserted text stays unchanged.
Input:
for item in items:
print(item)
Output:
for item in items:
print(item)Unknown app with Auto-Detect
Unknown apps fall back to plain text, so bullet-like input stays as-is.
Input: bullet first item Output: bullet first item
Current limitations
- • Auto-Detect only uses known app bundle IDs.
- • Unknown apps fall back to plain text.
- • The formatter does not inspect the meaning of the text.
- • Code and Plain Text are currently pass-through modes.
- • Later prompt or LLM steps can still change the formatted result.
Example Setups
App: Mail, Language: German, Engine: WhisperKit, Model: Large v3
github.com
Website: github.com, Language: English, Prompt: concise technical cleanup
Global fallback
No app or website, Language: Auto, Engine: Parakeet TDT v3