zzamboni.org
Ideally Blue

zzamboni.org
Ideally Blue

These are the things I have written about

outlook

See all posts on posterous with this tag »
Mar 16 / 1:54am

Automatically creating tasks from email in Outlook

Please note: I am no longer using Windows nor Outlook, so unfortunately I cannot offer any help with problems you encounter using these scripts and techniques.

Over the last few days I have been redoing my GTD-under-Outlook setup, based on the instructions available in the "GTD and Outlook" guide from DavidCo (I will write more about my setup later). One of the tricks the guide suggest is creating a mail rule on outgoing mail, which scans the message body for a special tag (/wf or *wf* are suggested) and automatically adds the message to the @WAITING FOR email folder.

This is a very nice idea, and I am a fan of automating things as much as possible, so it really strikes a cord with me. Unfortunately, I am not using a @WAITING FOR email folder, instead I have just my @WAITING FOR task category. As strange as it sounds, Outlook does not have an email filter rule for automatically creating a task from an outgoing or incoming email message. For incoming messages there is a rule for flagging the message for "Follow up", which creates a "to do" item but not a Task in itself (this is very confusing). This would be fine except that Follow-Up items are not synchronized to Toodledo by the ToodleDoSync application, and hence not synchronized to my iPhone.

So, evidently I had to solve this, and here is how I did it.

I noticed that there is an email action for "running a script". It turns out the "script" must be a subroutine written in VisualBasic for Applications (VBA) from inside Outlook. A Google search for "outlook create task from email" yielded a few good hits, including this one. It does pretty much what I want, except that the text and attachments of the message are copied into the task body, which I don't like because (1) most formatting from the original email is lost, and (2) in my testing, some messages with attachments produced VBA errors. So I modified it to just attach a copy of the original message into the task, which preserves both its formatting and attachments identically. I made the rule it so that the tasks are created based on incoming mail because I copy myself automatically on all messages I send (in fact I have disabled saving messages to the "Sent Items" folder), and this makes it possible to create tasks by emailing my Exchange account from other locations.

As a bonus, I modified the script so that any text you type after the /wf tag becomes the title of the newly-created task (if you don't type anything, the subject of the email message is used). This makes it easier to give your @WAITING FOR items a good, descriptive title upfront.

So here are the detailed steps of what you need to do:

(these instructions are based on Outlook 2010 which is what I use, if you use 2007 or prior you'll have to find by yourself where the different options and menus are, which shouldn't be all that difficult)

  1. In the Developer tab, click on "Visual Basic", which opens the VBA development environment, and unless you already have other macros installed, should give you a blank window. 
    Vba
  2. Paste the code:
  3. The code includes both the "script" to use in an email rule (which receives the email message as argument) and a macro (without arguments) so that you can run it manually from the Macros menu (also in the Developer tab). Try it out - select an email message, choose the macro from the Macros menu, and check that a new task in the @WAITING FOR category is created, with the original message as an attachment. 
  4. If needed, modify the category to which the task is assigned (or leave it empty to create an uncategorized task). 
  5. The code by default adds the recipient of the message to the beginning of the task title, separated by a colon (of the form "recipient: subject"). This makes it easier to see pending items per person (and, if you use the 2Do iPhone app, it automatically groups entries by the text before the colon, which makes it even easier to process. If you don't want this, modify the value of addRecipient to "False".
  6. To ensure that the macros run correctly after restarting Outlook, you have to sign it digitally, following the instructions here: http://office.microsoft.com/en-us/outlook-help/digitally-sign-a-macro-project.... Create a self-signed certificate and use it for signing the macro package. I had to restart Outlook for the digital signature to take proper effect. 
  7. Create the rule that will invoke the new subroutine on appropriate incoming email message(to create a new rule open the Home tab, then the Rules menu, then "Manage Rules and Alerts", create a blank rule for incoming messages, choose the appropriate criteria, and click on the underlined parts to define the parameters). These are the criteria I used: my rule operates on incoming mail from any of my accounts (so that only I can create Waiting For tasks for myself) and that contains "/wf" or "/*wf*/" in the body (in practice I always use /wf). I choose to automatically move the message to a local Outlook file (I have a pretty restrictive server quota), but you may want to skip this step. I also mark the message as read automatically, and of course I invoke the script created in the previous steps. 
    Rule
  8. Test it out. Send a message to yourself that contains /wf in the body. What I do in practice is that I include the /wf at the end of the message, and make it 1-point font and white so it's invisible to most people, but still detectable by the filter. After the message arrives you should see the new task appear in the appropriate category, containing the original message as an attachment. If you want to give the task a custom title instead of using the email subject, type it after the /wf, like this: "/wf Response about foo bar". The email recipient will still be added when you specify a custom title, unless you have disabled it in the code (see step 5).

Of course, when using this to flag messages sent to other people, you need to make sure you either automatically cc yourself (if you have created the rule on incoming mail), or that you create it on outgoing mail. I have not tested this case, but the "run a script" option is there as well for outgoing messages, so I don't see a reason why it should not work.

Have fun.

 

Filed under  //  filter   gtd   howto   outlook   script   vba  
Mar 14 / 12:09am

Overhauling my GTD system under Windows

As you may know, I'm a reluctant switcher from Mac to Windows. I am also a fan of GTD. I had been using Jello Dashboard (JD) to implement GTD under Outlook. JD is a very nice system, the developer is friendly and responsive, and I had even written several patches to adapt it to my way of working. I was even in the process of drafting a series of blog posts titled "My GTD under Outlook setup".

However, a couple of months ago JD stopped working for me. Not in the technical sense, mind you, but in the GTD sense. I stopped processing my Inbox, I stopped updating my lists, and of course I stopped checking them for getting my next actions. It didn't happen all at once, but over time I stopped having confidence in my system.

What happened?

I have come to the conclusion that the main reason I stopped using and trusting JD was what David Allen calls "friction". A system that has a lot of friction, Allen says, will eventually become unused and untrusted (I am paraphrasing, but the message is there in his books and articles). JD, as nice as it is, requires you to switch to a different "mode" within Outlook to use it, since it is essentially a web application that runs inside Outlook (it is all written in Javascript). This means that as I am processing my mailbox, for example, and encounter an actionable email, I cannot simply create an actionable task at that point. I have to (1) switch to JD, (2) find the email in JD's view of my Inbox, which is different than the one in Outlook Mail, (3) mark it as actionable, tag it and file it, and (4) go back to my Outlook Inbox to continue processing it. Friction.

What is supposed to happen, I guess, is that you do all the processing from inside JD. But JD's mail viewer is not nearly as nice as the native Outlook one (for example, it shows all messages as plain text), it is slower, and does not have a threaded message view, among many other differences. The result was that my mode of operation, while I was still using JD, was to read my mail in Outlook, archive or delete non-actionable messages, and then switch to JD just to file the remaining ones as actions. Of course, as my workload increased, I stopped doing the switch as frequently, due to the mental friction of having to deal with the "not as nice" environment and losing time and momentum in the process.

And slowly, over time, I fell back into old bad habits: keeping things in my Inbox because I would need them later, and working off it. As a years-old GTD practitioner, I can tell you that the difference was noticeable. I started missing commitments and forgetting things, I became crankier and more stressed, and both my personal and professional lives suffered.

But the nice thing about GTD is that it is very forgiving. If you "fall off the wagon", all you have to do is do a good mind sweep and review, start recapturing stuff, and be on your way.

But first, I had to overhaul my system. I was sure that if I started capturing stuff into JD again, I would eventually encounter the same problem. So I went back to the basics: I signed up for a free GTD Connect trial (GTD Connect is an amazing resource, too bad I cannot at the moment spend USD$50-a-month on it), downloaded the "GTD and Outlook 2007" guide and the Outlook 2010 supplement, and got to work. Followed the instructions, removed all my categories (JD uses categories for projects as well and for all its tags, so I had over a hundred of them), set it up with the minimum recommended set, and got to work on processing all my accumulated stuff.

I am not done yet, mind you, since I have literally hundreds of old tasks and emails, but I am making steady progress. I feel calmer than I was only a few days ago, because I am again slowly capturing all my stuff in a system that I hope can become trusted. For the first time in months I am decreasing my pile instead of increasing it constantly. The amount of things to do remains the same, but the pile of amorphous "stuff" that is there giving me the creeps has decreased. Eventually I need to get to the point where I can continue maintaining my system in cruise control, keeping things under control. I will blog more details about my specific setup later.

My conclusion is this: if you fall off the GTD wagon, just get back in! And don't be afraid to throw away your old system if you realize it is not working for you. The beauty of GTD is that it is not tied to a specific toolset, and if the tools you use do not support your good habits, you can easily switch them for others that do.

Reduce the friction, and it will improve your life.

Filed under  //  friction   gtd   jello   outlook   productivity   windows  
Dec 23 / 12:14pm

Setting up a global hotkey to add tasks to Outlook

One thing I missed since I moved from a Mac (using The Hit List for GTD) to Outlook (using Jello Dashboard for GTD) was the availability of a global hot key that I could use to bring up a text entry box which I could use to quickly add things into my electronic Inbox, for later processing.

I have found a way to achieve this, and here is the setup I am using now:

The first component is this PowerShell script written by Lee Holmes, which takes as arguments the title of the task to add, and adds it to Outlook. I saved it as Documents/Add-OutlookTask.ps1 in my home directory.

The second component is the ever-useful and amazing AutoHotkey. I added the following lines to my Documents/AutoHotKey.ahk file:

This snippet assigns Win-space to open an input box, and uses whatever is typed in it as the task title to the Add-OutlookTask script. The task will be placed without any categories in the task list, so it appears automatically the next time I open my Jello Dashboard inbox. Here it is in action:

Addtask

I find this extremely useful, since I can press Win-space to add new tasks from any application, without having to switch to Outlook first. At some point I would like to explore the idea of making it smarter, like the quick-add keys in Things or THL for the Mac. This would include, for example, using some information from the currently-active application to prefill the task information. Examples would include using the subject line if an Outlook email is selected or the title of the current web page if a browser is open. Also nice would be to include any selected text automatically in the notes for the task, and maybe a link to the original item.

 

 

Filed under  //  autohotkey   gtd   outlook   productivity   tips   windows  
Apr 9 / 5:54pm

Setting up my GTD system in Windows - links

Since I started at my new job and moved to a new machine and OS, my old GTD setup has fallen by the wayside and I have found myself at a loss trying to keep track of things. I have found OneNote to be a very useful tool for keeping notes and reference material, and Outlook 2010 is actually not that bad as a task/calendar/email management tool.

 

So, as a first step, here are some links I have found and which I am in the process of reading and digesting for creating my own setup:

 

(this is a live list, which I will update as I find more interesting sites)

 

http://www.fredberinger.com/email-management-pifem-is-a-clear-winner/

http://www.putitsomewhere.com/Entries.aspx?BLOGID=537

http://www.putitsomewhere.com/Entries.aspx?BLOGID=540

http://www.putitsomewhere.com/Entries.aspx?BLOGID=541

http://www.putitsomewhere.com/Entries.aspx?BLOGID=558

http://www.putitsomewhere.com/Entries.aspx?BLOGID=572

http://www.putitsomewhere.com/Entries.aspx?BLOGID=582

http://www.putitsomewhere.com/Entries.aspx?BLOGID=583

http://manage-this.com/onenote-outlook-gtd-system/

http://manage-this.com/setting-up-onenote-2007-for-gtd/

http://manage-this.com/tag/autohotkey/

http://manage-this.com/onenote-droe-autohotkey-tool/

http://home.comcast.net/~whkratz/id85.htm

http://immeff.ning.com/forum/topics/1972368:Topic:273

Filed under  //  gtd   onenote   outlook   productivity