A custom command maps a spoken phrase to an action — typing a snippet, pressing a shortcut, opening an app or a URL.
Voice commands turned on under Settings → Hands-Free, which is off by default. Free users can create and edit commands; they just will not execute.The ten action types
| Action | What it does |
|---|---|
| Send keys | Types a block of text, optionally followed by Enter |
| Key combo | Presses one key with modifiers, e.g. Ctrl+S |
| Open app | Launches an application |
| Close app | Asks an application to quit |
| Force close app | Kills it |
| Bring to front | Focuses its window |
| Send to back | Lowers its window |
| Hide app | Hides it |
| Open URL | Opens a link — http and https only |
| Open file | Opens a file or folder with its default handler |
How phrases are matched
Matching is exact, case-insensitive, with extra whitespace collapsed. There is no fuzzy matching and no aliases on the phrase itself — if you registered "deploy staging", saying "deploy to staging" will not fire it.
Phrases must also be unique across all your commands. There are three ways to invoke one:
- Inline —
{wake} {phrase}, e.g. "Annika save file" - Explicit —
{wake} action {phrase} - Bare
{phrase}, while a follow-up window is open
Reserved words
A phrase cannot start with action, command, or press, and cannot collide with your finish or cancel phrase. These are intercepted before command matching, so such a mapping could never fire. The editor blocks the save and tells you which word is the problem.
Reusing your last dictation
Put {last} in a Send keys command and it is replaced with your most recent dictated text. This is the one command InkSpoke ships enabled: "insert last item".
{last} cannot be combined with a secret command, for the obvious reason.Templates
The editor has a Browse Templates dialog with 29 ready-made commands across terminal, app control, text autofill, web, editor, and productivity categories. They are opt-in — importing one creates a normal command you can edit.
Why short phrases work best
Wake-word recognition matches against a limited word list rather than open-ended speech. Your command phrases, app favourites, and custom vocabulary are compiled into that list, which has a soft ceiling of about a thousand words. Short, distinct phrases are recognised far more reliably than long sentences — and arbitrary free text such as a search query or URL is not reliably transcribable this way at all.