Documentation Index
Fetch the complete documentation index at: https://mintlify.com/JerryZLiu/Dayflow/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Dayflow registers adayflow:// URL scheme to enable external automation of recording controls. You can trigger start/stop actions from macOS Shortcuts, AppleScript, hotkey launchers, or any tool that can open URLs.
Supported URLs
Dayflow supports two primary deep-link actions:URL Aliases
The URL router accepts multiple variants for each action:- Start recording:
start-recording,start,resume - Stop recording:
stop-recording,stop,pause
URL Structure
The deep-link router accepts actions via:- Host component:
dayflow://start-recording - Path component:
dayflow:///start-recording - Query parameter:
dayflow://?action=start-recording
Testing from Terminal
You can test URL scheme automation directly from the command line:open command tells macOS to handle the URL, which launches or activates Dayflow and triggers the action.
Integration Examples
macOS Shortcuts
Example: Toggle Recording
Create two shortcuts:
- “Start Dayflow” →
dayflow://start-recording - “Stop Dayflow” →
dayflow://stop-recording
AppleScript
Control Dayflow recording from AppleScript:Raycast Script Commands
Create a Raycast script command for quick recording control:start-dayflow.sh in your Raycast script commands folder.
Alfred Workflows
Create an Alfred workflow with a keyword trigger:- Create a new workflow
- Add a Keyword input (e.g.,
dfstart) - Connect to an Open URL action
- Set URL to
dayflow://start-recording
BetterTouchTool
Map a keyboard shortcut or Touch Bar button:- Add a new trigger (keyboard shortcut, gesture, etc.)
- Set action to Open URL / Open Application
- Enter
dayflow://start-recording
Implementation Details
Deep-link handling is implemented inAppDeepLinkRouter.swift:9-97. Key behaviors:
Idempotent Operations
Actions are safe to call repeatedly:start-recordingwhen already recording → no-op (logged and ignored)stop-recordingwhen already stopped → no-op (logged and ignored)
Analytics Tracking
Deep-link-triggered recording changes are tracked withreason: "deeplink" in analytics. This distinguishes automated toggles from manual UI interactions.
From AppDeepLinkRouter.swift:84:
Error Handling
Unsupported URLs are logged and ignored:DeepLink to debug URL routing issues.
URL Scheme Registration
Thedayflow:// scheme is registered in Info.plist:9-19:
Troubleshooting
URL Not Opening Dayflow
- Verify Dayflow is installed in
/Applications - Try launching Dayflow manually once to register the URL handler
- Restart macOS if the scheme isn’t recognized
Action Not Triggering
Check Console.app for deep-link logs:Permission Issues
If deep links fail after macOS updates:- Go to System Settings → Privacy & Security → Automation
- Ensure Shortcuts/Alfred/Raycast can control Dayflow
- Re-grant permissions if prompted
Security Considerations
Deep links execute without user confirmation. Ensure:- Only trusted automation tools have permission to trigger URLs
- Review which apps can control Dayflow in System Settings → Automation
- Be cautious running untrusted scripts that may call
open dayflow://
Best Practices
- Combine with Shortcuts automation: Trigger recording at specific times or when opening certain apps
- Use with Focus modes: Stop recording when entering Do Not Disturb
- Pair with screen locks: Start recording on unlock, stop on lock
- Create toggle shortcuts: Check recording state and flip it (requires scripting AppState)
Related Documentation
- Building from Source - Modify deep-link behavior
- Debugging - View deep-link logs and analytics