MailtagsToodledo

I recently started using indev’s awesome MailTags & Mail Act-On plugins for Mail.app. Just a couple of months before that, I also signed up for Toodledo – a really neat task management web app. As one can imagine, a lot of emails are really the source for most tasks that one manages. This is especially true in my area of work (project management).

Toodledo provides a mechanism for importing mail messages into it. The problem is, you need to remember a special syntax to enter in your subject line. More importantly, its additional work that you can do without. If you use Mailtags, you are already assigning contexts, projects, due dates, and priorities to your email. Why duplicate the effort? Macs are about making you more productive anyways.

So I hacked together an applescript that integrated MailTags & Toodledo. With Mail Act-On, a single keystroke allows me to send one or multiple messages tagged with MailTags straight to Toodledo. Add Growl to the equation for notification of success / failure, and you are all set!!

Features

  1. Sends a mail message with appropriate mailtags assigned directly to Toodledo.
  2. Puts a link to the message in the body of the task, so you can open the message directly within Toodledo (As long as you are visiting Toodledo on a Mac)
  3. Support for Context (Keywords), Folder (Project), Priority and Due Date as direct mappings.
  4. Support for other Toodledo fields through the Notes field in MailTags.
  5. Can act on multiple messages.
  6. Supports interactive mode – Edit the message before sending.
  7. If installed, notifies you of success through Growl.

My workflow:

  1. An email comes in Mail.app.
  2. I assign it a keyword (@followup, @Internet, @Work, etc) and a project. If required, a priority and a due date is also assigned. This is done using MailTags.
  3. Mail Act-On is configured to run an applescript (below) that duplicates this into a new message, modifies the subject to comply with Toodledo’s import syntax, and sends it out. My rule also archives the original message. Finally, a growl notification lets me know that its all done.
  4. Sometimes, I need to edit a message’s subject just before sending it. I have a variant of the above script that lets me modify it just before sending it.

Toodledo & MailTags Mapping

  1. Keywords in Mailtags – Context in Toodledo
  2. Project in Mailtags – Folder in Toodledo
  3. Due-date in Mailtags is the same in Toodledo
  4. Priorities:
    1. Very Low (Mailtags) = “-1. Negative” (Toodledo)
    2. Low (Mailtags) = “0. Low” (Toodledo)
    3. Normal (Mailtags) = “1. Medium” (Toodledo)
    4. High (Mailtags) = “2. High” (Toodledo)
    5. Urgent (Mailtags) = “3. Top” (Toodledo)

Limitations:

  1. The beauty of Toodledo & Mailtags is they can be used in different ways by different people. That, however, is a limitation of this script – I use “keywords” in MailTags as “contexts” in Toodledo. Also, you can only have one context, i.e., only one keyword assigned to a message in Mailtags for this script to work properly.
  2. Toodledo fields not supported directly – Goals, Tags, Start Date, Status, Length, and Due Time. MailTags doesn’t have these fields and hence its not possible. There is a work around however – If you need to add these, put them in the ‘Notes’ field in MailTags, in the special syntax that Toodledo understands. The script will take anything in the ‘Notes’ field of MailTags and assign it at the end of the subject, as is.
  3. While sending tasks via email, Toodledo does not support setting negative priority. So only tasks set with a Low Priority in MailTags will be set appropriately in Toodledo. You may still assign a ‘Very Low’ priority to a message; the script will simply ignore it.

Steps:

  1. You probably already have these, but for the sake of completeness, I must add – Install MailTags, Mail Act-On & sign up to Toodledo.
  2. Note the special email address created for you by Toodledo. Check under ‘Import/Export/Sync’.
  3. Ensure the projects in Mailtags match your folder entries in Toodledo
  4. Ensure keywords in Mailtags match exactly to context entries in Toodledo
  5. Copy the following two scripts in your scripts folder (~/Library/Scripts) as ‘Edit & Send to Toodledo.scpt’ and ‘Send to Toodledo.scpt’ respectively.
  6. Edit the top section of both these scripts in Script Editor and change the email address to your toodledo one (step 2).
  7. Create a couple of rules in Mail Act-On as shown. The first rule for ‘Archive’ message is optional and is just my workflow. Yours may be different.
  8. Tag your email as required. Here’s an example: Message tagged with mailtags
  9. Thats all! Just select the message. Call the Mail Act-On rule (appropriately for either sending directly, or editing before sending) with the keystroke you assigned and that should be it!.

The scripts

Disclaimer – I am a novice with applescripts. I used various applescripts on Mac OSX Hints, etc as reference to compile this one. My gratitude to all of the authors of these applescripts for making it available online. Please let me know of bugs, and I will try my best to address them with my limited knowledge of applescripts.

There are 2 scripts for each mail act-on rule. The first will open the message compose window, that will let you fine tune the message before sending (Tweak the subject line, add an attachment, etc). The second will let you send the message directly to toodledo. You’ll be notified by growl in this case.

Download Script 1 – Edit & Send to Toodledo (Interactive mode)

Download Script 2 – Send to Toodledo (Non-Intercative mode)