OmniOutliner to iCal Script

I wrote this script to export an OmniOutliner list into iCal as a list of To Do items. I’ve used iCal off and on, and it’s not great, but it does currently hook into the syncing system of OS X. OmniOutliner is infinitely more usable in my mind, and lets you work the way you want to.

The primary motivation for this script is to let me sync my to do list to my phone, which only syncs through iCal. I’m sure others might find other uses for it. If you like it, have a suggestion, etc., leave a comment or send an email.

Here is the “Readme” out of the script:

This has not been tested with OmniOutliner. I would imagine if you are using OmniOutliner, just remove the “Professional” from the tell application lines.

Hopefully this script will export all types of outlines. The ideal outline would have 4 columns, the main being “To Do”, with 3 additional columns of “Date”, “Priority”, and “Category”. “Date” should be a date type column, while the other two should be popups.

The values I used for the priority popup is in the first line of the script: “Very Important”, “Important”, “Not Important”, “None”. This corresponds to the priority levels displayed by iCal.

Values used for the Category column are left up to the end user. If a Category is not set, the item is placed in the “Misc” calendar in iCal – I like the ring of that more than “Unfiled”. iCal calendars will be created for category values in which there is no corresponding iCal calendar.

Outlines that have multiple levels will get exported to a flat listing as follows:

  • First
    • Two
      • Three
  • Four

will get exported as two todo items, “First: Two: Three” and “First: Four”. Hope this works for you.

I’m sure this script could be prettied up a bit. I will leave that for others to do. Please feel free to change, modify, and customize this script. It would be great to hear back from you if do.

1 thought on “OmniOutliner to iCal Script

  1. This is just an idea from a guy who loves your script and who is not used to coding… I could see saving individual project files in outlines, reimporting them year after year… Is there any way to have the date have a prompt for what year without going in and manually changing the dates each time? Again, I have no clue when it comes to code…



Comments are closed.