Learn how to transform Microsoft Entourage into the ultimate GTD productivity system. If you haven’t already, read the previous articles in the series to get started before diving into these details.
Today’s installment will get into the real fun part of un-kinking Entourage: The magical AppleScripts which make Entourage a totally smooth and easy environment for keeping your mind like water.
In our previous installment, you got a taste of this fun with the “Quick Project” script which turns a multi-step wizard into a simple menu item. But the scripts I’ll be sharing today will keep your tasks organized, archive old ones, and let you add new tasks, projects and even categories to Entourage from within any application without typing more than a single line of text!
A Quick Refresh
From the previous articles, we’ve covered how to map GTD-type principles to Microsoft Entourage, and also covered the nitty gritty details of setting up views, categories, projects and tasks to make Entourage a happy home for all your open loops and actions.
Along the way, we’ve covered how tasks are broken into Next Actions or Deferred Actions, depending on their priority. We’ve also applied certain naming conventions to our categories and projects. In the case of categories, each category that we intend to use as a GTD-type “Context” has a prefix of “@”, “+” or “=” (thus keeping it separate from all other contexts); while projects might have a suffix of “*” or ”=”.
These naming conventions are key for the automation that these scripts provide, so let’s go into more detail on how this all works.
Three Kinds of Contexts
There are three distinct sorts of context under this model.
@ Contexts: Nothing Special
The first is the basic “@” context. This context is really no different from a category, except that the @ prefix denotes that it is, in fact, a context, and should be scanned by the scripts when necessary.
= Contexts: Don’t Call Me, I’ll Call You
The second kind of context is the deferred context, which is prefixed with a “=”. Any and all tasks assigned to one of these contexts will be set to the lowest priority, and are thus marked deferred. This is a good place to store tasks which are on-hold (perhaps using a context as an ad-hoc someday/maybe list), or which you cannot immediately act on, but which are still important. (e.g. A Waiting For context.)
+ Contexts: Cross-Project Efficiency
Lastly, there is the List Context, prefixed with a “+” sign. This is unique to this model, but is a powerful tool for ensuring that you make the most of your time.
A list context should contain tasks which require an associated list of sub-tasks or reminders. Obvious examples would include agendas with particular people or errands where each task would be a destination location or store.
Why do you want this? Well, let’s say that you’ve set up a “+ Agendas” context. In that context, you’ve put a task called “Boss” with a note of “Give him an update on the Widget Manufacturing project.” You then realize that you also need to update him on the Johnson Account, so rather than create a new task in the + Agenda context, you can instead just add the note “Update on the Johnson Account” to the “Boss” agenda task.
With errands, it can work the same way. An entry of “Grocery Store” could contain both “Milk” and “Eggs” in the note as a shopping list, but when you remember you also need beer, you can add “Beer” to the note.
This becomes especially important when using the Send to Entourage script, as it will automatically detect matching tasks in + Contexts and append to them, leaving you free to concentrate on just making a list.
Then, when you’re in a meeting with a certain person or at a store, you can take care of EVERYTHING you need to handle in that context, and you don’t have to build new agenda contexts for everyone in your life, nor errand contexts for every store in your town.
Automation: Auto-process Tasks and Projects
And now, at long last, the scripts which put this all into practice. The first set of scripts handles the automatic assignment of priorities to tasks, so as to determine Next Actions and Deferred Actions automatically, as well as to archive completed tasks so that they’re out of the way, but still accessible.
As with all the scripts associated with the Un-Kinked Entourage model, they are optional, and may be used or not as you wish.
Installation of These Scripts
The following two scripts can be run from any location, or even directly from Script Editor. I find the best place for them is in the Entourage Script Menu Items folder in ~/Documents/Microsoft User Data/.
Auto-Process GTD Tasks
This script simply assigns priorities to tasks based on a fairly simple set of rules.
If a task is in a project whose name ends with an asterisk (*), it will set it as a next action (high priority). Similarly, if the project ends with an equals sign (=), it will set the task to lowest priority, thus marking it as a deferred task. The same is true if the task is in a context that begins with ”=”.
For all other projects and contexts, the same rules apply: If the task belongs to a project which has no incomplete next actions (priority of High or Highest), it will automatically set the first task in the project’s list as a Next Action.
There is, of course, nothing preventing you from setting multiple next actions in a project, and that may be appropriate in some cases, but if you do, this script will pass over that project so long as there is at least one incomplete Next Action.
Note that this script may behave unpredictably if a task belongs to multiple projects or contexts, as it may have its state changed multiple times. In that case, the last change wins.
This script can either be run manually or via a schedule. Personally, I have set up a schedule which runs it every time Entourage is started up, and I’ve also added it to the Entourage Script Menu items so that I can run it whenever I wish.

Archive Project Tasks
This script will delete completed tasks that belong to your projects, and will add them to a note entitled “Archived Tasks”, where each is listed under the date and time that they were archived. The full note and last modification date (presumably the completion date) for each task is also saved, although context and links are not.
If a completed task belongs to multiple projects (not uncommon with tasks in “+ Contexts”), it will be added to the Archived Tasks list for both projects.
This archived task list is meant to help keep a journal of your progress and to help with any sort of progress reviews that might be required of you.
This script will also create the “Ω Utility” category if there is not already such a category in place. At present, this is the only script which uses this category, but in the future, other scripts will put automatically generated lists into this category to make them easier to filter. If you don’t like the name “Ω Utility”, you may change it to whatever you like, provided that the first character is an omega (“Ω”, generated by typing option+Z).
Create GTD Entries from Anywhere: Send to Entourage
Update: Nov 7, 2006 - Updated script to fix a problem matching, well, everything.
Send to Entourage is the equivalent of Kinkless GTD’s “Send to KGTD” script. It uses a simple syntax to allow you to add new tasks, projects, and contexts, and even to assign notes and due dates to created tasks.
The script is designed to be run from any application that can launch an AppleScript, including Entourage’s script menu, the Apple-provided AppleScript menu, or various other programs. However, if you use either LaunchBar or Quicksilver, you can use these programs’ ability to send text to a script to enter new information with little more than a keystroke.
Installation will vary depending on which program you’re using. If you are using LaunchBar, I recommend simply adding the “Entourage Script Menu Items” folder to the scanned folders in LaunchBar’s configuration. Then you can have just one copy of the script on your drive, but can use it both for LaunchBar and for activation within Entourage itself.
If you’re using Quicksilver, you’ll want to put a copy of the script into ~/Library/Application Support/Quicksilver/Actions/ in order to be able to use it with the Process Text command. You may also need to force Quicksilver to refresh its database and/or quit and restart the program.
For Entourage, I recommend just putting it in the Entourage Script Menu Items folder. You can also apply a keyboard shortcut to it in the usual fashion. (Refer to Entourage’s help for details.)
You will also have to install Growl, which is what the script uses to give feedback so that it stays out of the way. Growl is a free download.
How it works
You activate the script. If you simply run the script from the script menu, it will prompt you with a text field. If you use Quicksilver or LaunchBar, you can send the string straight to it, or activate it normally and use the provided text field.
The text you send must be specially formatted, as follows:
Nothing = Task If the first character is not an @, : or >, the first thing you enter will be considered a task
@ = Context: @ Indicates a context. This will attempt a match (full or partial) against existings contexts. It is not necessary to add a @, = or + in front of the context in this syntax. So “Home” is the same as “@ Home” or “= Home”.
> = Project: > Indicates a project. This will attempt a match (full or partial) against existings projects and add a new one if none exists.
| = Note: | indicates task details. The text following a bar will be added to the new task in your KGTD document as a note. If there is no task, the note information is lost. You cannot add notes to a new context or project.
#due date: # indicates that dates should be attached to a new task. The due date can be in any format that AppleScript can parse, so 1/1/06 or Jan 1, 2006 should both work.
@@, >>: Putting two delimiters in a row will bypass the usual matching and will, instead, force the creation of a new context or project, respectively. Two delimiters for date or details are permitted, but have no effect.
The typical usage would be to create a task and assign it to a project and context in one step. The syntax to do this is as follows:
Vacuum Floor | It's real dirty @ Home > Housecleaning # 1/31/06 - friday
In this case, “Vacuum Floor” is the task; “It’s real dirty” is the details, which will be assigned as a note to the “Vacuum Floor” task; “Home” is the context; and “Housecleaning” is the project. A start date of January 31, 2006 will be assigned to this task, and a due date of next Friday will also be set.
The script will also attempt to match your entered context or project against existing contexts or projects. It will first attempt an exact match, and if that doesn’t work, it will attempt to match what you entered for the project or context against projects/contexts which begin with the same text (prefix), then which end with the same text (suffix), and finally which contain the same text (substring). If no match can be made, a new project and/or context will be created.
This can be used to your advantage by setting up contexts and projects with unique prefixes, suffixes, or even special symbols (other than @, > and |) so that new tasks can be easily assigned to them.
As noted above, by entering two delimiters in a row (@@ for context or >> for projects) will bypass this matching and will force KGTD to generate a new context or project, as appropriate.
The order of the various operators is irrelevant, except for the task, which must ALWAYS be the first text entered. So Task @ Context : Details > Project is functionally identical to Task > Project @ Context : Details.
You also do not need to enter all of the information. If you simply want to quickly drop a new task in your inbox you can just send “New task | I don’t know where to file this” and it will work. Similarly, if you only wish to create a new project, you can type “>New Project”.
Whitespace before or after each operator is trimmed off automatically, so you can either type “Task @ Context” or “Task@Context”. It makes no difference.
Next: Un-Kinking Entourage Part 4: Best Practices
| Attachment | Size |
|---|---|
| Archive Project Tasks | 5.73 KB |
| Send to Entourage (updated Nov. 7, 2007) | 35.6 KB |
| Auto-Process GTD Tasks (updated Mar. 12, 2008) | 4.97 KB |