OmniFocus’ note field is powerful. It can hold not only written notes, but also links to documents, applications, internet URLs, and other parts of OmniFocus itself such as tags, projects, tasks, and perspectives. These links allow us to distill a broad network of work and ideas into simple lists.
A limitation sometimes crops up in linking to documents and folders in the Finder. I’ve often broken a link by moving a file. In other words, I’d link to a file in a task’s note field (Control-drag), then later move the file around to another location in my Documents library. When I next tried to access the file via OmniFocus, I would then get an error message:
I’d have to have remembered where I put the file, search for it, and repair the link, eliminating the purpose for the link in the first place.
One manner I’ve used to solve this has been to use DEVONthink. Indexing or adding the file to DEVONthink provides a reliable link, so long as it remains within DEVONthink’s database. This also has the advantage of syncing across systems as DEVONthink has applications on iOS and on my other macOS device.
And while DEVONthink is quite powerful for other matters as well, having to add a file to DEVONthink just to create a link is not always an effective or smooth solution.
Enter Hook. Currently in beta, Hook is a tool that lets you create “robust” links to your files, folders, URLs, contacts, and more. Brett Terpstra has been a big proponent and has written an excellent overview of Hook.
After installation, to create a link:
- Select a file or folder.
- Invoke your key command, (Shift-Option-Space) in my case.1
- Select the option to “Copy as Link” (Command-c).
- Open the task field of an OmniFocus task (Command-‘).
- Paste the link (Command-v).
Now, wherever I move that file, the link persists.
An Example of Using the Robust Link
In this case, I often work on files that I save to the Desktop. When I’m done with the files for the time being, I send them to a folder titled “Sorting”. There, Hazel examines the name of the file, then renames and moves it as necessary.
As an example, I can have a file titled “Personal Receipt – pen store”. Sending the file to the Sorting folder renames it “(Today’s date) Personal Receipt – pen store” and puts it in the Personal Receipts folder, further files it into a (This Month) sub-folder, creating one if necessary. I don’t have to think about it. Hazel just takes care of all of that.
Until Hook, though, I’d have to follow that file and control-drag it into an OmniFocus task if there was something I wanted to do with it. Now I don’t. I can invoke the Hook Copy as Link command while the file is on the desktop and paste it into a task. I can then send the file along without worry of losing it.
Hook’s abilities do not stop there. In fact, this one-way linking ability isn’t its prize feature. Hook allows for multi-directional linking, something that has been missing from the computer world for quite some time.
You can copy a link and then connect it to another document if you’d like. That way when you’re in one document, you’ll have a link handy to go to another.
With OmniFocus, you can link a project (with all its tasks) to the research paper you are writing as well as all the resources that are involved. Further, you can link individual projects, tasks, and tags together. (I’d love to see it connect to perspectives as well.)
Example Use 1 – Research
As one example of use, while writing a paper, you can link to several of its resources including URLs, PDFs, a file in which you’re taking notes, and an OmniFocus Project where you list follow up tasks. Each of those resources, in turn, will link back to the paper.
Since the links are bi-directional, if you’re reading a URL or a PDF that you’ve linked to somewhere in the past, you’ll see the connection to the paper you’ve written and go straight there.
Example Use 2 – Meeting Readiness
I had a phone meeting with someone scheduled for the middle of the next day. I had some notes and some agenda items to go over with her. The notes were in a folder in Finder and the agenda items were tagged @colleague in OmniFocus.
To mark the event and gather its resources, I:
- Created a calendar event for the phone meeting.
- Added an alert for the start of the event.
- Created a Link to the @colleague tag in OmniFocus and pasted it in the calendar event.
- Created a link to the relevant folder in Finder and pasted it in the calendar event.
- Added my client’s phone number, though I could have linked to her Contact entry.
This way, I have the event off my mind until the reminder went off. At that point, I have everything ready to go at the time of the phone call.
Example Use 3 – Link to Searches
Hat tip to Joel Anderson here. I only found out about Hook through Joel’s post here at the MacPowerUser forums:
In the post, Joel describes his method for creating a method for reviewing his files of the last 48 hours. He creates a repeating considered task with a link to a HoudahSpot file. I’ve run the experiment myself and have found it to be quite useful.
Example Use 4 – CRM
If you have a project, tag, folder, and contact entry per client as I do, you can link all of them together. That way, anytime you see a client, you can have all their related information at your fingertips.
Integrating OmniFocus with Keyboard Maestro
There are two integrations I’ve set up using Keyboard Maestro.
In OmniFocus 2, clipping a file or folder would link to an alias. OmniFocus 3 changed that and now imports the file. I prefer the OmniFocus 2 setting. Now with Hook, I’ve created a Keyboard Maestro snippet to reproduce the alias clipping:
Invoking the command on a file brings up Quick Entry with the alias in the note field and the cursor ready to enter the title of the task:
If you just want to have a simple speedy way to get a link that you can paste anywhere you want without pausing at Hook’s interface, you can use the following:
There are many other possibilities. The discourse forums for Hook are quite handy.
- Using a Keyboard Maestro macro, I’ve shortened the first two steps into one. To copy a link:- Select a file or folder- Type (Control-Option-Command-c) ↩