stenoai:// deep link scheme. You can trigger recording start and stop from Apple Shortcuts, Automator, or any tool that can open URLs on macOS.
Deep links
| Action | URL |
|---|---|
| Start recording | stenoai://record/start |
| Start recording with a name | stenoai://record/start?name=Meeting%20Name |
| Stop recording | stenoai://record/stop |
name parameter is URL-encoded. Spaces become %20.
Create a start/stop shortcut
Open the Shortcuts app
Open Shortcuts from your Applications folder or search for it with Spotlight.
Add the Open URLs action
Search for “Open URLs” in the action search bar and add it to the shortcut.
Set the URL
Enter
stenoai://record/start as the URL. To pass a name, use stenoai://record/start?name=Daily%20Standup.stenoai://record/stop and assign it a different key combination.
Calendar automation
macOS Shortcuts cannot natively trigger at calendar event start times. To automate recordings based on your calendar, use Rules - Calendar Automation as a bridge.Create the Shortcuts workflow
In Shortcuts, create a shortcut that:
- Uses Find Calendar Events (limit to 1, upcoming, sorted by start date)
- Extracts the event title
- URL-encodes the title
- Opens
stenoai://record/start?name=[encoded title]
Set up a Rules trigger
In Rules, create a calendar trigger:
- Source: your target calendar
- Trigger: event start (or a few minutes before)
- Condition: event note contains
steno(use this as an opt-in marker) - Action: run your Steno shortcut
Use with the menu bar
Steno runs a menu bar icon when active. You can trigger recordings from the menu bar without using Shortcuts. The deep links are most useful when you want to trigger recordings from other apps, scripts, or automations.Does Steno need to be open for deep links to work?
Does Steno need to be open for deep links to work?
Yes. Steno must be running (in the menu bar is fine) to receive deep link events. If Steno is closed, the URL will launch it but may not immediately start recording on the first open.
Can I pass the meeting name dynamically?
Can I pass the meeting name dynamically?
Yes. URL-encode the name and pass it as the
name query parameter: stenoai://record/start?name=Weekly%20Product%20Sync. Steno uses this as the recording title.Does this work with Raycast or Alfred?
Does this work with Raycast or Alfred?
Yes. Both Raycast and Alfred can open URLs. Create a script command or workflow that opens
stenoai://record/start or stenoai://record/stop.Why do I need Rules for calendar automation?
Why do I need Rules for calendar automation?
macOS Shortcuts does not provide a trigger that fires at a calendar event’s start time. Rules adds this capability. It watches your calendar and runs a Shortcut when an event starts.