My task management system with Things, iCal, Mail, and a little magic

I have been using Cultured Code’s Things application for a while now. It is still in beta, but it is shaping up to be a wonderful task management app. What is “task management” you might ask? Think “to do lists.” But Things is more than just some lists with check boxes. Things has a wonderful tagging system, projects, “areas,” a Today list, a Next list, repeat tasks, and a bunch of other features that I’m just going to tease you with here. If you want to learn more about Things you should watch this video because this post isn’t about how great Things is, it’s about how I incorporate Things into my workflow.

As I said above, I use Things to handle my task management. I use Apple’s Mail application to handle my e-mail and I use iCal to keep up with my appointments. One of the big features in Apple’s Leopard operating system is “system-wide calendar.” This means that anything in iCal is available for other applications to read and manipulate. This also means that other applications can create things “in iCal” like events or tasks. I know, at first that doesn’t sound very interesting, but let me explain why that is a good thing. Things allows me to sync some of its “lists” with iCal calendars. This means that I can now create a new task in one application that syncs with iCal, and it will automagically appear in my Things list. If that doesn’t sound exciting let me demonstrate with a real world example… after the break.

A simple example

Let’s say I receive this e-mail:


This is something I definitely want to turn into a task so I remember to actually blog! I simply press CTRL-i and suddenly it pops into my “Inbox” in Things as a new task. Simple. Done. Later I will process everything I have collected in my “Inbox” with appropriate tags, deadlines, etc.


So how did this magic happen? I’m so glad you asked.

How to make it work

First of all, you have to tell Things to sync with iCal. Open up iCal and create a new calendar group by choosing File » New Calendar Group (or Shift-CMD-N). I call mine GTD. Next, create two calendars: Inbox and Today (note the capitalization). I like to color coordinate my calendars, so my Inbox is dark grey and my Today is red.


Now you need to open up Things and go to the preferences under Things » Preferences (or CMD-,). Under the “iCal” tab select your Inbox calendar from the list on the left and then select “Sync with Inbox” from the drop-down list on the right. Next select your Today calendar on the left and choose “Sync with Today” on the right. (The Today items are tasks you have flagged as things to get done today, so this is a nice list to have available for quick viewing in an app like Anxiety or Out of Mind.)


Now, any task that you put in your iCal “Inbox” calendar will go to Things, and any task that you put in your Things inbox will go to iCal. But, we aren’t done yet. We need that quick and easy way to get a Mail message into this inbox. For that we need a little magic. Mail Act-On is a Mail plug-in that allows you to create “mail rules” that only happen when you press a certain keyboard shortcut or select that option from a certain menu. This is how I made “CTRL-i” send my message to the Inbox.

While that is downloading you will also need to go to this page and click on the “Download” link on the right. This is an AppleScript file that will make the magic happen. Don’t worry about how this all works, just trust that it does.

If you have the time you may also want to download and read the Mail Act-On FAQ (PDF file). I’ll tell you everything you need to know for this tutorial, but the MAO plug-in is pretty powerful and you just might find other uses for it in the future.

Once the AppleScript file from the Pastie website is downloaded you will need to go to your Downloads folder and find it. It should be called something that starts with “pastie-” and then ends with a bunch of numbers and letters. Rename this file something like “MailToInbox.scpt” and move it to “~/Library/Scripts/Mail Scripts” (that’s your home folder » Library » Scripts » Mail Scripts). If the “Mail Scripts” folder doesn’t exist then create it inside your Scripts folder. If the “Scripts” folder doesn’t exist then create it inside your Library. If the “Library” folder doesn’t exist inside your home folder then you should see your local Mac genius immediately… your computer has issues. Seriously, though, the most important part of where to put this file is being able to find it later… it really doesn’t have to live in one specific folder.


Once that is finished and Mail Act-On has downloaded, run the MAO installer and then restart Mail. Next, open up Mail preferences by choosing Mail » Preferences (CMD-,). Go to the “Rules” tab and you should now see a mail rule called “Act-On: Stop Processing Receive Rules” which was created automatically by the plug-in. Make sure this rule is at the bottom of the list of mail rules. You will want to create all of your “Mail Act-On” rules below this one. Now, create a new mail rule by clicking the “Add Rule” button on the right. Under “Description” enter Act-On: i | Add to iCal Inbox. That syntax is important. Basically, the “Act-On: ” is necessary for the plug-in to see this rule, the “i” is the shortcut key you want assigned to this action (case sensitive). The ” | ” pipe character (located above the “\” character on your keyboard) tells the plug-in that the name of the action is coming up next. The last part “Add to iCal Inbox” can be anything you want.

Next choose “If Any of the following conditions are met: Every Message” from the two drop-down boxes.

And finally under “Perform the following actions” select: “Set Color of background Red” and “Run AppleScript” (here is where it is important to be able to find the script file from earlier). Click OK. Mail will ask “Do you want to apply your rules to messages in selected mailboxes?” Just click “Don’t Apply” and move on. (If you accidentally click “Apply” instead nothing should happen.)


So what does this mail rule do? The first action here colors the message background red in my list of messages. This isn’t overly important since you are probably just going to delete the message anyway (since its contents are now in your to do list), but I think it’s a nice touch. The second action runs that AppleScript file from earlier which actually does the hard work of creating the task in your Inbox calendar of iCal using your message subject as the title and body and the notes.


That’s it! You’re done. Now whenever you receive an e-mail that needs action, all you have to do is select it and press “CMD-i” and it will be whisked away to your iCal/Things Inbox. You can also press the “`” key (next to the “1” key) within Mail to open up a window with all available Mail Act-On actions.

Congratulations! You are now an e-mail task management machine! Hopefully this method will help reduce your stress, shrink your e-mail inbox, and help you be productive.

In the future I am hoping that the Things developers will incorporate support for another great Mail plug-in called MailTags which would allow users to tag e-mails in Mail before sending them to the Things Inbox.

For some other great uses for Mail Act-On read this post on 43folders from Merlin Mann.

This post was inspired by all of the wonderful solutions that other people smarter than me came up with in the Things forum. The AppleScript used here was modified by me from this script created by Marcel van der Boom.