Featuring live project & tag filters, autocompletion, and modifier actions (copy task link or reveal in OF)
I’ve created (or better yet, resurrected—credits at the end) this OmniFocus Task Creation workflow for Alfred. It features:
• 🔍 Live project and tag filtering with autocomplete
• 🧠 Natural language task input (project, tag, defer/due, duration, note)
• ⌨️ Modifier options to copy a task link to the clipboard or reveal it in OmniFocus
This is one of my first workflows, so while I hope it’s useful to others, I’m also posting in hopes that someone more capable than me might improve it or give feedback so I can.
⚡ Quick Input Reference
Feature | Trigger | |
---|---|---|
Add Task | Type task name | |
🚩 | Flag Task | Task! |
💼 | Assign Project | ||Project |
🏷️ | Assign Tag | ::Tag |
⏳ | Defer Date | #Date |
⌛️ | Due Date | #Date |
⏱️ | Duration | ~120m |
📝 | Add Note | //Note |
Copy Task Link | ⇧↩ | |
Reveal in OF | ⌥↩ |
🚀 Usage
- Run the workflow with the keyword todo or assign a hotkey.
(I use ⌃⌥⇧⌘T myself.)
- Begin typing your task, then use the symbols below to extend it with metadata:
🚩! ||💼 ::🏷️ #⏳ #⌛️ ~⏱️ //📝
flag! ||project ::tag #defer #due ~duration //note
You can mix and match any of the above in a single line.
Book train tickets! ||Travel ::Planning #Monday #Friday ~30m //Check Eurostar vs. LNER
- To simply add a task to Inbox, just type the task and press enter.
- To mark the task as flagged follow the task name with an exclamation mark. - Task!
- To assign a project to the task, type || followed by the project name. - ||Project
- To assign a tag to the task, type :: followed by the tag name. - ::Tag
- To set a defer date, type # followed by a date or natural language. - #Friday
- To set a due date, type # followed by a date or natural language. - #Tomorrow
- To set estimated duration type ~ followed by a number followed by m without space. - ~120m
- To add a note type // followed by desired text. - //Note
🧠 Notes
• # is parsed as defer unless you include two; then the second is due.
• Autocomplete kicks in automatically when typing || or ::.
• Duration must be in minutes (~90m, ~15m, etc).
• Notes support multiline input after //.
🛠️ Modifier Keys
• ⇧⏎: Copies a direct task link (e.g., omnifocus:///task/…) to clipboard
(AppleScript is used to fetch the most recent task)
• ⌥⏎: Opens the newly created task in OmniFocus directly
🙌 Credits
This workflow is based on:
• David Verhasselt’s Alfred Workflow: dv/alfred-omnifocus-workflow — originally built for Alfred 2 and OmniFocus 2. It’s ~10 years old and didn’t run on my setup, but it inspired this reboot.
• OmniFocus Collection Workflow by Otto Automator (The Omni Group): Helped me adapt the project/tag filtering mechanism.
✨ Feedback welcome!