An Applescript that creates an Omnifocus project from a Tinderbox Note and reciprocally links them

I almost always use Tinderbox to brainstorm topics and projects in order to figure out what I need to do, and then I track the actual project/tasks in Omnifocus. I wanted to automate the process of creating an Omnifocus project from a note, and copy/pasting reciprocal links between Omnifocus and Tinderbox.

This script:

  • Creates a new project in Omnifocus named after the currently selected Tinderbox note of the frontmost open Tinderbox document.
  • The “Notes” field of the new Omnifocus project contains the “$NoteURL” from the Tinderbox note.
  • The Omnifocus project’s “task URL” is copied to the Tinderbox note’s “$URL”
  • The Tinderbox Note’s “$KeyAttributes” is changed to “$URL;” (Note: I don’t bother with $KeyAttributes for this kind of brainstorming. If you don’t want a note’s $KeyAttributes replaced, you will have to modify this or delete the relevant line).
  • The script colors the Tinderbox note (I just love that “poppy” color!) and gives it a badge so I can identify which notes I have added to Omnifocus.

Hopefully posting this helps anyone who has been looking for similar functionality in their workflow.

Applescript:

5 Likes

Thanks for the pre-formatted text tip! [Edited now!]

Regarding task creation:
AFAICT, the Omnifocus URL scheme doesn’t distinguish between tasks and projects. If I decide the project I created in OF via the script is a subtask of another project, moving it in OF doesn’t break the link. I do use this script to create new items in OF that I manually drag into projects as subtasks.

Some extensions or versions of the script I am planning on trying out (in order of personal usefulness):

  • A version that looks through the contents of the Tinderbox note for child notes flagged somehow (e.g. a boolean attribute “$include_in_project”), and creates them as subtasks when invoking the script.
  • Instead of creating a project in the top-level directory, a version of the script that looks to see if the Tinderbox note is the child of a Note already linked to an Omnifocus project, and creates the item as a sub-task of that project or task in OF.
  • A version that works with multiple selected notes in Tinderbox. Right now it only works with a single selection.

If I implement any, I will update this thread.

Also, copying over due dates, start dates, etc. would be possible but I usually do all that kind of nitty-gritty in Omnifocus, so probably won’t ever bother.

What a nice contribution @yggy. Thank you!

Is it possible to scale in the sense of having all notes subordinated to the one note that – through your script – becomes an OmniFocus Project become subordinated tasks in the OmniFocus project as well?

1 Like

Thanks for the kind words!

I think the first bullet in my list of planned additions above describes what you suggest, but with an option to include/exclude. It is possible and planned, but I want to wait and use the script as it is for a bit first.

For my purposes, it may be an advantage to require a discrete action for every added task in Omnifocus. Very easily, my Omnifocus becomes less of a task manager and more of a hybrid task-manager / research collector / word processor / wish-list, and it becomes unpleasant to use.