Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Add a task to Things from anywhere! Apps
Like many, I recently had the urge to organize my life. I decided this time I would be serious about it and enlist some GTD apps to assist me. From the collection of apps I tried, my favorite was Things by CulturedCode. There are many features I love about this app, but one feature I wish it had was the ability to email myself tasks. This was something I really liked about Remember the Milk.

I decided to create an AppleScript the would take specially-formatted emails that arrive in Mail.app and convert them into tasks within Things. The subject line becomes the task name, and the content of the email becomes the notes associated with the task. I detailed the full process on my blog (with screenshots), but here's the executive summary version:
  1. Create this AppleScript, and save it to /Library » Scripts » Mail Scripts as things.scpt:
    (* Things GTD app Remote Task Creation v.1
    By: Don Southard aka. Bin@ryGh0st... Thursday June 4, 2009 *)
    
    using terms from application "Mail"
      on perform mail action with messages MessageList for rule Things
        tell application "Mail"
          activate
          set thisVar to (count message viewers)
          if (count message viewers) = 0 then make new message viewer
          set thisMessage to item 1 of MessageList
          set taskName to the subject of thisMessage
          set taskDesc to the content of thisMessage
          move thisMessage to mailbox "Trash"
          if thisVar = 0 then quit message viewer 1
          tell application "Things"
            set newToDo to make new to do with properties {name:"New to do"} at beginning of list "Inbox"
            set name of newToDo to taskName
            set tag names of newToDo to "Email"
            set notes of newToDo to taskDesc
          end tell
        end tell
        
        tell application "System Events"
          set processID to name of every process
        end tell
        if "GrowlHelperApp" is in processID then
          tell application "GrowlHelperApp"
            set the allNotificationsList to {"Things Notification"}
            set the enabledNotificationsList to {"Things Notification"}
            register as application "Remote Things Script" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "Things"
            notify with name "Things Notification" title taskName description taskDesc application name "Remote Things Script"
          end tell
        end if
      end perform mail action with messages
    end using terms from
    
  2. Add a rule named Things to Mail.app to run the script when a coded email arrives. I personally chose to add an @ symbol to the beginning of the subject line to let Mail know to convert it in to a task. You can choose any symbol or criteria in your rule, just as long as it runs the script. I also chose to mark it as read and the script moves it to the trash since I don't need these tasks cluttering up my inbox.
That's it! New emails that match the criteria will be converted to tasks and dropped in to the 'Inbox' in Things.

[robg adds: I've recreated the code here in case the original ever vanishes, but the best source is the linked blog entry -- any updates to the code will be found there, not here. I haven't tested this one.]
    •    
  • Currently 2.80 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (5 votes cast)
 
[12,036 views]  

Add a task to Things from anywhere! | 5 comments | Create New Account
Click here to return to the 'Add a task to Things from anywhere!' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Add a task to Things from anywhere!
Authored by: simondorfman on Jun 05, '09 08:30:28AM

fyi, omnifocus has a Mail.app to omnifocus task inbox feature built in.



[ Reply to This | # ]
Add a task to Things from anywhere!
Authored by: osxpounder on Jun 05, '09 11:34:24AM

Interesting tip, and excellent footnote by robg. Good idea (adding note about where code would be updated, that it wouldn't be updated here... will be helpful to future users who find this tip). Great job!



[ Reply to This | # ]
Add a task to Things from anywhere!
Authored by: Hagar on Jun 06, '09 12:46:40AM

Complementary to this you can automatically send Mail Todo's to Things:
1) Enable iCal syncing in Things Preferences
2) In Mail, use the Todo button to create a Todo out of a Mail

The Todo will be automatically synced to iCal and also appear in Things. This works instantaneously in both directions. A nice bonus is that the mail itself is included in the note of the Todo.

This way, your Todo's are synced in Mail, iCal, Things and Things Touch :-)

Just be careful when trying this on a Gmail account. Don't try this with a lot of Todo's at once or you will get dialog boxes in Mail telling the server todos and local todos are out of sync. Keep clicking "Keep local" until the message goes away.



[ Reply to This | # ]
Add a task to Things from anywhere!
Authored by: makemineamac on Jun 06, '09 01:03:11AM

Great tip! I use Things for project-specific items and it is well-designed and implemented, and it has helped me get much more focused. I love how they spent so much time on the interface - both on the Mac and the iPhone. It's beautiful.

Now, I'm also using reQall Pro on my iPhone, it lets you add items by voice, then transcribes the recording into a task. There is something inherently 'cool' about that - and as soon as they implement dedicated projects I will likely shift to it full time, but Things is still an amazing App, and being able to add a task from anywhere is awesome.. Thanks for this!



[ Reply to This | # ]
Add a task to Things from anywhere!
Authored by: pmgendron on Aug 31, '09 10:56:59AM

that's awesome,

it there a way to remove the "flag" from the task title?



[ Reply to This | # ]